* Fixed ship munitions occasionally failing to enter their overmap
target when their original physical projectile no longer existed.
* Fixed several ship munitions reconstructing as the wrong projectile
after overmap travel, ensuring explosive rounds correctly detonate on
impact.
Also had the AI write a unit test that simulates ship combat using every
munition type, so we don't have more regressions here.
AI usage disclosure: The code for this was created using GPT 5.6 Sol.
Messages are now sent to both parties in IPC P2P communications, to make
the mechanic a little more responsive.
Also adjusts some of the code to get it functional on my machine.
# Summary
This PR adjust welding packs and fryers. Welding packs now spawn empty
[on the Horizon] to encourage the persistent welding tanks and fryers
have their optimal oil level adjusted to balance out oil refills.
**Depends on https://github.com/Aurorastation/Aurora.3/pull/23005**.
## Changes
- Added new sprite for empty welding packs.
(Regular vs new low variant)
<img width="835" height="108" alt="image"
src="https://github.com/user-attachments/assets/a882bff1-901b-4b0e-8d1d-750ed4e1e83c"
/>
- Welding packs now spawn empty (only on the Horizon and during map
load).
- Deep fryer no longer contain 9 full tanks of cooking oil. They contain
100u now and make refills using the [persistent cooking oil
tanks](https://github.com/Aurorastation/Aurora.3/pull/23005) much more
reasonable. Added a wrench to the kitchen for tank handling.
The disposal "mainline," the main trunk that wraps around the whole
ship, has been painted with a yellow stripe for better distinction with
both mapping and in-game diagnostics. Relevant code has been changed (a
microscopic amount) to make the stuff actually work, too.
The yellow stuff's currently not constructable due to the colossal
amount of additional codework to make them such for minimal return.
This PR additionally makes packages able to be mailed to the machinist's
workshop properly; due to a mapping error (very easy to miss) people
weren't able to do so before.
(CL)
* Painted the 'mainline' disposal pipes yellow for better distinction
with mapping.
* Adjusted some disposal piping to be tidier.
* Packages can now once again be mailed to the Machinist's Workshop.
## Images
<img width="1274" height="780" alt="image"
src="https://github.com/user-attachments/assets/51374227-f3e7-42ca-8a13-64d278ec0d0b"
/>
<img width="1343" height="1119" alt="image"
src="https://github.com/user-attachments/assets/4ae08fe7-ce09-44a9-8158-99dece757b47"
/>
<img width="1175" height="1092" alt="image"
src="https://github.com/user-attachments/assets/5a1b3aa4-1e51-4bc1-b1f4-2f341cef8ca1"
/>
<img width="449" height="594" alt="image"
src="https://github.com/user-attachments/assets/ba44fb77-8c81-41fc-b07f-a3593e063e41"
/>
# Summary
This PR adds visual fill levels for fuel, extinguisher, water, cooking
oil and lube tanks.
The cooking oil tank now is also persistent and was added to the cargo
order manifest.
Sprites by @alsoandanswer
## Preview
<img width="404" height="472" alt="image"
src="https://github.com/user-attachments/assets/4ff4a0dd-e790-4a63-bc1a-6e198199ee7c"
/>
Four major fixes. These are all pretty clearly bugs, but the result is a
substantial mech nerf (except EMPs against EM armor.)
First, EMP armour.
EMP armour did nothing, it was partially ported to use TG's Element flag
system, this finishes that.
Rather than make the EMP armour immune to EMP, it spends power to negate
it.
The cost is 1000 / severity. Heavy EMP is 1, Light EMP is 2. This is 5%
of a basic mech cell for light, 10% for heavy.
Also fixes the pilot getting EMP'd twice for every EMP act on the mech.
Second, open hatches let attacks hit the pilot. Chance is 80% from the
front, 20% from the sides.
The chance is mostly so that turrets that always aim torso don't shoot
mechs forever, always hitting the pilot inside.
Third, cockpit damage actually matters now. Previously shooting the mech
in the chest was nearly worthless, no important components were there
and destroying it did not destroy the mech.
Now if the cockpit is completely destroyed, attacks against it penetrate
through to hit the pilot.
These attacks still account for the mech's armour.
Combined with the hatch getting stuck closed, you can have tense rescues
of pilots bleeding out inside their suits.
Fourth, the mech running out of power actually stops it doing things.
Uranium and Phoron power cores allowed mechs to keep running forever,
even at fractional power, because they recharged slightly every tick.
Now if the mech ever cannot afford the power cost of an action it shuts
down.
It can be powered back up immediately if the power core recharges it,
but it cannot now do costly actions at single digit power.
I fixed mech combat shields.
They suck, they use the auras system which does not play nicely with the
new projectile code.
Recursive calls and spaghetti mess.
Works for now but could use a complete rewrite.
---------
Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
# Summary
This PR adds a new verb to ping the storyteller in Odyssey rounds.
## Info
In the OOC tab a new verb can be found during Odyssey rounds allowing
players to notify the storyteller.
Given a required message, the storyteller will get a notification in
their chat with the player given message and a JMP button to quickly
move to the player.
The verb has a one minute cooldown.
## About PR
- Fixes an issue with exoplanet turf edge icons layering below the
adjacent turfs
- Exoplanet turfs no longer attempt to add edge icons by default,
instead this is specified wherever it's relevant (this is still enabled
by default in base floor type, and honestly shouldn't be the case since
there's maybe 10 turf types need this vs every single turf in existence,
but i don't have the energy to go through them all)
- Removed an icon edge irrelevant turf
- Fixes exoplanet chasm turfs appearing red (no name icon in the file)
because it was trying to add edge turfs that had no icons with that name
<img width="808" height="983" alt="Screenshot_22"
src="https://github.com/user-attachments/assets/c1605ba7-eec4-4f1e-8950-c51d943dde9e"
/>
<sub>the red eye sees all, remember our promise....</sub>
The timer on the nuke is increased to be between 10 and 15 min, so that
the Horizon has enough time to react to it. Furthermore, it can only be
deployed in a non-rad shielded area that is on the Horizon and not in
vacuum. Once it is deployed, its area will also be announced.
All of this should prevent an easy attempt to nuke the Horizon, and give
them a chance to fight back.
Atom health added damage handling at the base obj/structure level.
Many structures had their own damage handling code in bullet_act.
Bullet act requires that you call it's parent.
Fixes all of the double damage instances I could find, trying to keep
the behavior as close to the old as possible.
Added armour to a few things that had snowflake damage reductions.
Adds biesel citizenship to traverse due to the recent refugee influx
from Traverse.
I have the Pope's permission
https://discord.com/channels/724651070017765459/724652610778431490/1532928866795000009
* Please describe the intent of your changes in a clear fashion.
* Please make sure that, in the case of mapping changes, you include
images of these changes in the PR's description.
* Please make sure to mark your PR as wip or review required by making a
comment with !wip or !review required
* If you include sprites/sounds/... (assets) that you have not created
yourself specify the license and original author below.
* Ensure that you also credit them in the appropriate location /
changelog as specified in the contributor guidelines
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/example.dmi | ExamplePerson (Example Station) | CC0 |
Reduces max phoron and steel storage potential of the IC Circuit
Printer. Particularly steel is reduced when the cloning disk is
installed and phoron is set to one bar instead of two.
Also put in some safety measures for importing being lost due to server
latency.
Oh and well the radio command receiver is built in now.
- Represents phoron lore in telecomms stock part descriptions
- Represents phoron lore in SMES unit sprites/descriptions
- Adds a phoron-free cryogenic alternative to phoronic SMES units
- Replaces all instances of quantum mechanics being used for FTL Comms
with Bluespace (eg. the Quantum Relay -> Bluespace Relay)
Does not map the cryo SMES in anywhere, but use-cases would be Einstein
Engines, EE-supported factions, and less affluent indie groups
some basic recolouring:
<img width="333" height="107" alt="resprite1"
src="https://github.com/user-attachments/assets/8961274a-39bc-4523-8e11-9daadc652be7"
/>
<img width="559" height="106" alt="resprite2"
src="https://github.com/user-attachments/assets/3afefe66-5487-41f1-bbd7-59ea1bb37b40"
/>
# Summary
This PR adjust the import cost of the newly added persistent tanks,
makes empty tanks retain persistent and removes the duplicate water tank
entry.
Import cost is adjusted based of export cost with liquid in them,
preventing money printing.
- balance: "Buffs gattling laser modifier charge time from 3 to 2
seconds. It took so long to charge multiple people thought it was
bugged."
This modifier was simply a downgrade, you'd be dead by the time it
fired. Often people handed gattling guns would think they are bugged and
unable to fire. This might help a bit.
- balance: "Tweaks material costs, replacing uranium with silver and
gold. Uranium was previously used everywhere."
Everything used uranium, even things that really didn't make sense. As
uranium spawns on station in engineering and the machinists, this is a
slight nerf.
- bugfix: "Fixed a bug where energy guns would not properly handle
reliability failures when the gun was out of charge."
- bugfix: "Fixed improvement potential calculations for ions and slimes.
You no longer gain improvement shooting monkeys with ions, or for
shooting slimes with lasers."
- bugfix: "Fixed a bug with bluespace capacitors teleporting items in
teleport inhibitor range. This was due to the EMP happening before the
teleport and destroying the inhibitor."
- bugfix: "Fixed Ion modulators not correctly decreasing the number of
shots."
Fixes: #22850
changes:
- qol: "Mobs in animal traps can now be transferred directly to Stasis
Cages by click-dragging rather than requiring them to be in a net."
- bugfix: "Mobs can no longer use their ranged attacks while contained
inside objects (including animal traps)."
- bugfix: "Stasis cages now apply stasis only while powered and
correctly clear it when releasing simplemobs."
- bugfix: "Fixes stasis cage transfers race condition freeing trapped
animals randomly."
- bugfix: "Corrects stasis cage safety-wire status display."
Y'know, probably. It certainly seems to work locally!
changes:
- code_imp: "Exoplanets now cache their main outdoor atmospheric region
instead of trying to search their entire map once per second."
- code_imp: "Exoplanet atmospheric calculations now run only when
necessary using new update_revision counter."
- code_imp: "Exoplanet atmospheres now wait until all random ruins have
been placed before trying to resolve the air everywhere."
- admin: "Adds new admin debug verb, 'Toggle Non-Horizon Temperature
Graphics', which toggles all off-ship gas temp graphics to address lag
in a pinch, if still necessary, without removing actual environmental
hazard."
RPEDS now work on most machinery via attackby() handler.
Part matching checks circuit-board requirements and the machine's
component_types which fixes the science telepad RPED compatability.
Alt-clicking an autolathe with an RPED now recycles the materials in the
autolathe.
Normal lmb activity is preserved on the autolathe.
Signed-off-by: mineymonkey <brandontanner63@outlook.com>
Fixes https://github.com/Aurorastation/Aurora.3/issues/21944
Spiritual successor of
https://github.com/Aurorastation/Aurora.3/pull/22352
Cherrypicked changes from the C3 Crew Management branch, this PR
contains all NTNet extensibility features, including Field Relay
construction, off-site camera usage (contingent on standing up remote
hardware and being out of jamming), etc. This also fixes a handful of
outstanding telecomms and view/mobeye-related bugs adjacent to where I
was working.
changes:
- rscadd: "Adds NTNet extensibility, requires new machinery constructed
on away-site z-levels."
- rscadd: "Breaks NTNet Relay machinery into Quantum Relay ('core' obj
on Horizon) and Field Relay (deployable off-site constructions)."
- qol: "Embedded cameras (basically every video camera EXCEPT those
which are installed on walls) can now be viewed from NTNet-connected
z-level, not just connected ones."
- rscadd: "Adds several public camera monitor consoles to the Horizon
(near where public sensor grid feed consoles already exist)."
- rscadd: "Adds some spare camera console boards to Horizon technical
storage."
- qol: "Adds action button for 'cancel-camera-view' verb while viewing
cameras or looking up/down z-level."
- bugfix: "Fixes Jockey comms (frequency was missing from ANTAG_FREQS)."
- bugfix: "Fixes look-up/look-down actions intermittently failing
without first using cancel-camera-view."
This was originally just going to be a PR that improves quality of life
for the mining mech, which *STILL* felt worse than mining by hand even
after my last time buffing it. But then I got sidetracked with adding
more sound effects to mechs, and now they have a "bitching betty" as
well as a reactor hum sound loop. Including even more audible feedback
for when the mech takes damage.
https://github.com/user-attachments/assets/5f2020f4-55fd-4e36-8368-471522aad4fa
* Mining points now carry over between rounds for each character.
* Mining point carryover is capped at 15,000 points and expires after
one week of inactivity.
AI usage disclosure: The code for this was created in-part using GPT 5.6
Sol.
- **Megacorporate Factions:** Corporate Reporter, Corporate Journalist
- **Independent Faction:** Independent Reporter, Independent Journalist,
Media Broadcaster
The largest change is `Freelancer` -> `Independent`, which allows
independent reporters/journalists/broadcasters to represent proper news
media (eg. Tau Ceti Times, Spurley, a head-canoned independent media
group), instead of being lucky solo freelancers who somehow landed a
position on a sensitive megacorporate vessel (though freelancers aren't
excluded).
`Media Broadcaster` is new and available to both independents and
megacorporate fations, mostly catering to reporters doing gimmicky talk
shows etc. with the camera drone. It has no additional access like news
media though, regardless of megacorporate affiliation
Again uploaded on the behalf of The_Ill_Fated.
changes:
- rscadd: "Adds Eris Flag and Banner to player loadout options."
- imageadd: "New sprites for the Eris Flag and Banner."
Bluespace inhibitors prevent you from teleporting out of them in a
square.
They prevent you teleporting into them in a circle.
Previously, if you got very unlucky, you could teleport into an area but
not back out again.
This makes both checks a square.
It also drops you one additional tile further out of the teleport zone,
so if you step off your portal in the direction of the inhibitor, it
doesn't destroy the portal.
Telescience portals also didn't care and would form inside the inhibitor
radius.
changes:
- bugfix: "Fixes bluespace inhibitors inconsistantly blocking teleports
in a square, but finding the alternate desination in a circle. Its all
square now."
- bugfix: "Fixes telescience portals not respecting bluespace
inhibitors."
Fixes https://github.com/Aurorastation/Aurora.3/issues/22959
Fixes https://github.com/Aurorastation/Aurora.3/issues/22960
changes:
- bugfix: "Integrated circuits can now display screen text and other
examine related things."
- bugfix: "Fixed the direction of the wall mounted integrated circuit
when placed."
- bugfix: "Fixed that the integrated circuit kit had the wrong tools."
- bugfix: "Fixed that the integrated circuit printer put things on the
turf instead of in hand."
- bugfix: "Fixed that removing integrated circuit components put them on
the turf, and that they were dropped if they did not fit inside the
device."
- bugfix: "Harvesting a plant multiple times by clicking it repeatedly
before it finishes is no longer possible."
- bugfix: "The kitchen machinery can now be upgraded."
- bugfix: "The farmbot requirement in bounties was reduced."
- bugfix: "Fixes the inability to put custom pizzas in the pizza box."
changes:
- bugfix: "Guards emergency shield projectors' maintenance process()
logic from inadvertently toggling projector on when anchored and
inactive."
- bugfix: "Bubble shield projectors no longer register candidate turfs
for every hearer in range. Once is enough."
I had accidentally made doors unbreakable, except by anti_material
weapons, like the PEAC and ship weapons. This fixes that.
Two PEAC shots will still destroy any normal door.
This is mostly a bugfix, the increase to door armour only compensates
for them being mortal again. PEAC basically ignore armor with their 35AP
and 100+ damage to structures.
Regular weapons weaker than a laser rifle still cannot completely
destroy a door.
It takes an STS ~90 rounds to destroy a blast door.
https://github.com/user-attachments/assets/840514c1-b3a5-4de7-bd81-8651781502dd
changes:
- bugfix: "Doors and blast doors can be destroyed again with enough
sustained damage."
- bugfix: "Fixes doors 'breaking' repeatedly, when hit at 0 health."
- bugfix: "Fixes doors taking damage twice when hit by projectiles. This
also fixes projectiles ignoring a door's armour."
- balance: "Increased the armor values on blast doors and vault doors."
- rscadd: "Added a brief particle effect when a door is destroyed."
Remaps the machinist workshop to fulfil a few criteria missing from
https://github.com/Aurorastation/Aurora.3/pull/22718. Particularly aims
to make the workshop more functional for IPC medical gameplay.
- The surgical theatre has been expanded so two machinists can more
practically work in the same space at the same time. In the existing
design, this portion of the workshop is far too claustrophobic. It also
has a desk.
- The exosuit chargers no longer obstruct access from the garage door.
- Resolved a lot of awkward uses of decals and platforms, which should
also make for more useable space.
- Cleaned up the wiring - both rooms are now wired to the civilian
subgrid. Previously, the main workshop area was hooked via a very
awkward line to the operations subgrid, while the theatre was wired to
civilian.
- Shifted a lot of the clutter into the robotics vendor, such as the
empty first-aid kits for medbots.
- Shifted materials crates + the crate shelf to a central position, to
make them easier to track.
Things of note for maintainers:
- It's never ideal to remap something very soon after the original
implementation, but having given this remap a full month, I think it's
had a fair chance. Having played machinist in it, the layout is very
tough to work in. It's a very cluttered environment, which becomes much
harder to look at once there's a disassembled mech cluttering the centre
with a dozen or so objects. This aims to be more intuitive to play in
and less overwhelming for players.
- The surgical theatre contains one additional IV drip, one extra O-
bag, and one organ cooler for borgings, and there are now two roller
beds accessible by the front desk. I'd rather have a more unique
solution for this problem long-term, but in the short-term it very much
sucks to have to ask to borrow a roller from medical just so you can
move a damaged industrial, given you can no longer pick that industrial
up unless you're playing a huge species.
- Otherwise, the workshop has the same resources as before and will be
able to make the same things.
(screenshot taken after testing, and prior to further changes)
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/a8eef0e3-630b-463d-b3c3-22769001b513"
/>
<img width="480" height="448" alt="image"
src="https://github.com/user-attachments/assets/535dc851-7bab-48f7-a916-a5a1f12bf650"
/>
Begins the process of removing all references to the Hegemony, to be
replaced with Karszekani Moghes. Part 1 does:
- Updates accent tag icons. A LOT of the unathi accent tags did not
follow our guidelines alongside some of them directly referencing the
Hegemony. This is all fixed now.
- Updates accent flavour text too.
- Updates citizenship and origins to replace all references to the
Hegemony.
- Updates the consular officer to use the new terminology.
- Adds the Kreshwan alt title for Karzekani consulars at the request of
unathi lore.
---------
Signed-off-by: Fyni <itsfyni@gmail.com>
- Made the cloning disk printable, the one thing I forgot to look at
while debugging because admin spawning things is fun! That's besides the
point, it should now be printable with steel at the prolathe once
requesite technologies are met.
changes:
- bugfix: "Fixes C4 effects not correctly getting their parent item."
- bugfix: "Fixes C4 not being placed correctly."
- bugfix: "Fixes Dirty Bombs deleting their own radiation source."
- bugfix: "Fixes Dirty Bomb goop puddles disapearing long before the
radiation does."
- bugfix: "Fixes drinking radioactive waste not irradiating you."
3 dirty bombs set off. One on a floor, one on a wall one on a machine.
<img width="1191" height="1182" alt="image"
src="https://github.com/user-attachments/assets/584e7572-441c-4937-8e0e-7203010fcd54"
/>
---------
Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
* The Autakh integrated stun baton can now be deployed and used like a
normal baton. The ten second cooldown between hits, reduced stats, and
nutrition loss for use remains as before.
AI usage disclosure: The code for this was created in-part using GPT 5.6
Sol. (Sprites done manually by myself.)
adds window repair adhesive spray containing silicate. single use.
found in the engi-ved vending machines
for repairing cracked/damage windows without having to fully deconstuct
and reconstruct them.
can also strengthen windows