460 Commits

Author SHA1 Message Date
FenodyreeAv cf585ef505 Ship combat rework (#22566)
Makes ship combat significantly more destructive (and a bit deadlier),
especially with non-explosive projectiles.

**Additions:**
- A shell that penetrates a solid (dense) structure will cause spalling.
This spall does 2-30 damage, depending on range and has a high embed
chance. These embedded chunks are large enough to be ripped out by hand.
(But you probably shouldn't). The pilot's suit has 30 ballistic armor,
so a prepared bridge crew can survive a lot of spall.
- Adds a gun that shoots any ship weapon that admins can spawn. Useful
for testing, or for adminbus where they don't want to have to spawn a
whole overmap ship.
- Made several structures destructible, vending machines, computer
frames, grilles (these were just bugged) and watertanks (and their
children). These structures could just block infinite shots and were
common enough to serve as effective armor for the horizon. These now
spawn shrapnel (of their material if it's set), in addition to sheets of
steel when destroyed.
- Added support for negative maim chance. This allows chosen projectiles
to be prevented from decapitating. No more accidentally gibbing the
bridge crew's heads. (Unless they get hit with something really really
big).

**Balance:**
- All non-explosive anti ship rounds got significant buffs. Typically
2-3x Anti-Material numbers.
- Armour piercing anti-ship rounds got massively increased penetration
stats. Typically 4-8 from 1-2.
- Doors now get destroyed in less hits, if they are hit by anti-material
projectiles. Hits to destroy -= Antimaterial / 2
- Francisca frag shells now shoot less fragments but deal more damage.
394 projectiles for every shot was a bit laggy, now it's only 280.

**Shields:**
Shields now take more power. 13-14 megawatts for a 10 strength shield.
Just inside the ship's generation capacity with both the INDRA and
Supermatter running.

Instead of deleting any projectile they are hit by, shields now have
different failure modes.
- Firstly, a piercing projectile has it's penetration reduced by the
shield strength. Eg A shot that would go through 10 walls, only
penetrates 4 after going through a 6 strength shield.
- Secondly, a projectile has it's damage multiplied by 1 - shield
strength / 10, then has shield strength subtracted from it's damage. Eg.
A damage 100 projectile, hitting a 5 strength shield, has it's damaged
reduced to 50, (100 * 0.5), then to 45. (50-5)
- Thirdly, an explosive projectile (that does not penetrate per the
first step) does not explode, but instead deals it's full damage to the
shield.

Hits to the shield now also damage the field itself, not just the shield
tile. As such, a very big hit on the shield can bring the whole thing
down, requiring an engineer to reset it.

Shields can now be upgraded with research components. Additionally,
shield generators can now support more than one capacitor. The
roundstart capacitor on the Horizon is only good enough to support a 6
strength shield.
The upgrades increase efficiency, strength loss over time and charge
speed.

**Overmap Targetting**
Previously, shells would spawn within 20 tiles of their target and aim
directly forwards. This was bugged for shots with burst, which would
instead all aim inwards and mostly miss. This is the reason the Grauwolf
(in addition to the explosion bug below) and Fransisca felt so useless,
only one of every shell in a burst would hit.

Shots now spawn at the map edge, based on the orientation of the
projectile and ship. Diagonals are now accounted for.
Shots are then aimed directly at the target selected on the console,
with 3 degrees of dispersion.

**Bugfixes:**
- Fixes lots of explosions that didn't pass a turf to the explosions
subsystem. This caused the explosion not to happen if the thing hit got
qdeled before the subsystem could get the turf to spawn the explosion
on.
- Embedded shrapnel no longer gets the initial projectile name, this
prevents it getting named shrapnelshrapnel.
- Fixes a bunch of projectile piercing bugs, mostly with grilles and
windows. Shots now go past window frames without hitting them.
- Fixes shields not having a click delay when attacked.

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-06-03 16:52:13 +00:00
FenodyreeAv 87848fbdc3 Adds skill based upgrades to modular lasers. (#22425)
**Modular laser changes**

- tl:dr Shooting mod laser at a mob counts up an improvement potential
variable, which when the gun is disassembled, gets spread across the
components.
- When the components are repaired, by someone with high skill, there is
a chance to increase a variable, such as damage, shot count, accuracy.
- Players give the biggest increase, followed by non-player humans
(protohumans & mechs fall in this catagory), then simple mobs and
finally monkeys. Non combat modlasers improve slowly when used for their
intended task (betarays slowly tick up when shooting hydroponics bays)

The philosophy for these changes is that research should continue to be
involved with the equipment they give out.
It should also be difficult (but not impossible) for research to upgrade
their weapons without support from other departments.
Xenobio slimes, protohumans, medical help to keep the protohuman alive
while you shoot it, security help to actually use the guns on real
targets (this gives the biggest increases).

The more powerful a weapon is the harder it is to upgrade, as it'll kill
it's targets quicker. The more upgraded a weapon is the more difficult
it is to upgrade further, improvement potential will get wasted on
components that have already hit their cap.

On their own, by the time the 5 monkeys research start with are dead,
it's possible for a max skill scientist to improve one gun's worth of
components by ~25%.

The weapons research can now make at roundstart (with max tech) are
significantly worse than what spawns in the armoury.
The weapons research can make with gold, silver, uranium and phoron are
equal to what spawns in the armoury.
The weapons research can make with diamonds are better than what spawns
in the armoury.

Major nerfs to heat vents, auxiliary capacitor and capacitor overcharge,
these were the problem children.
It is now impossible to make a weapon that does not take damage through
use. Safe designs will only break with heavy use, by people who don't
bring them back to research for repairs.
Powerful designs break quickly and need repeated repairs.

Adds two side grade capacitors that can be made at roundstart (with max
tech), one higher damage and fewer shots. One lower damage and more
shots.

High skill characters get much more information when examining modular
lasers and a chance to throw the gun away before it explodes.

Adds some defines to help balance these changes:
Improvement cap (the total percent a component can increase) Currently
100%.
Increase & Decrease Cap, how much an individual variable can be
increased or decreased. Currently 2x and 0.2x.
Improvement multiplier, multiplies all improvement gains. Currently 1x.

**Firing Pin fixes & changes**
Fixed ID locked firing pins and adds them to R&D.

Adds the inner research department to the firing range locked pins. This
is so xenobotanists, xenobiologists & xenoarchs can use the modular
lasers. Freeze rays for slimes, betarays for xenobotanists, laser
activation for artifacts for xenoarch.

It is still impossible for a scientist to make a weapon they can use
anywhere, but they can give them to security who can use them freely.

**Misc bug fixes**
The weapon analyzer UI now updates and only shows relevant statistics,
instead of displaying every variable even when they do nothing.
Replaces the buggy tesla zap with just electrocuting the holder.
Fixes a few broken visual messages.
Fixes the vermin modulator not killing anything, now it also works on
grems.
Fixes click delay on malfunction.
Fixes radiation damage numbers.
Fixes the temperature modulator.
Fixes the report printout showing the wrong numbers.

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-27 15:51:37 +00:00
Batrachophreno 4ecb0bc21c Repath obj/machinery to obj/structure/machinery [MDB Ignore] (#22500)
Repaths obj/machinery to obj/structure/machinery. **Note for
reviewers:** the only meaningful changed code exists within
**code/game/objects/structures.dm** and
**code/game/objects/structures/_machinery.dm**, largely concerning
damage procs. With the exception of moving airlock defines to their own
file, ALL OTHER CHANGES ARE STRICTLY PATH CHANGES.

Objects, _categorically_, are largely divided between those you can hold
in your hand/inventory and those you can't. Machinery objects are
already subtypes of Structures behaviorally, this PR just makes their
pathing reflect that, and allows for future work (tool actions, more
health/destruction functionality) to be developed without unnecessary
code duplication.

I have tested this PR by loading up the Horizon and dismantling various
machines and structures with tools, shooting guns of various types
throughout the ship, and detonating a bunch of explosions throughout the
ship.
2026-05-26 19:35:48 +00:00
FenodyreeAv 6f2253a658 Nerfs projectile piercing and makes it's chance based more on armour piercing than damage. (#22248)
- Projectiles now lose 30% of their damage for every pierce they go
through by default.

- Ship weapons only lose 5% damage on pierce. 
  
- The default chance was changed from (Pierce Chance (20%) + Damage, to
Pierce Chance (0%) + Damage / 4 + Armour Piercing.
This means the merc's STS, went from 55% chance to pierce, down to 30%,
with reduced damage when it does.

- Specialist anti-tank weapons, such as the PEAC, now have their pierce
chance multiplied by their anti-material potential.
This gives the PEAC 100% piercing chance.


<img width="327" height="261" alt="image"
src="https://github.com/user-attachments/assets/661904ec-3957-4116-a10b-e8a8fc14cd2d"
/>
2026-04-20 11:32:22 +00:00
Matt Atlas d5931c5ffe Adds an universal object health system. (#21266)
https://www.youtube.com/watch?v=ZpUYjpKg9KY

As per title. The goal is to add health to most objects in the game and
thus allow them to be dynamically destructible, while also avoiding
shitcode like each structure having its own snowflake health update
proc.

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-16 23:22:08 +00:00
FenodyreeAv e8944e087d Modular laser fixes and nerfs (#22147)
**Fixes the bugs found on the recent nations round.**

- Fixed firedelay doing nothing on modlasers with the shotgun lens. Also
fixed the existing laser shotgun as a side effect. Fixes #22141 and
Fixes #22137
- Fixes the shotgun lens not having any dispersion.
- Fixes bluespace capacitors not teleporting you on a failure.
- Fixes phoron capacitors not hurting the user when they explode.
- Fixes messages about malfunctions not displaying to the user.
- Fixes a bunch of bugs related to repairing components
- Stops components getting qdeled but leaving their references on all
other components, breaking them if reused.

**Nerfs a few of the most problematic things.**

- Cut the damage of the blaster projectile by 20% and reduced it's AP
from 60 to 35, also drops it's incendiary value to 1.
This projectile was FAR more powerful than any other, ignored all armour
and set the user on fire without a damage penalty.
With this change, lasers are now better on unarmoured targets, the
blaster is better on 40+ armour, so Heavy and Specialist Ablative.

- Added an immediate electric shock to the user (and anyone within one
tile if the capacitor is unstable enough).
The previous low level failures all irradiated the user. This did more
damage in the long term, but didn't affect the outcome of any fights and
was easy to negate with suits.
The tesla shock is obvious to everyone nearby, causes immediate pain and
the gun to be dropped if the capacitor is overcharged.
This makes minor failures a significant factor mid fight, especially on
powerful guns.

- Makes the phoron capacitor directly damage the hand holding it when it
explodes.
This capacitor can be built with phoron and uranium, which both spawn at
roundstart, though uranium isn't accessible.
It's therefore the most common capacitor, and the second most powerful.
This increases downside a lot, in addition to the explosion being fixed,
it will break the hand that fires it when it malfunctions.
If the capacitor is unstable, such as in a 60 damage monster, it will
gib the hand that fires it on malfunction.


**Tweaks, aimed at making the guns easier to understand, repair and
test**

- Adds a locker and boxes of modlaser parts. Not mapped in, but easy to
spawn for testing.
- Adds big red warning messages, visible to everyone nearby, explaining
what happened to the gun, who was holding it and how bad the malfunction
was.
- Made the lenses repairable with glass, or reinforced glass. The
nanopaste cost of a repair was more than 50x the cost of just printing a
new lens.
2026-04-07 20:08:41 +00:00
FenodyreeAv 5f06d51da3 Projectile piercing fix (#22157)
Fixes the fact that no projectiles could pierce.
Uses the bitflags introduced in the projectile refactor.
Only some heavy rifle bullets and most ship weapons will pierce.
This also indirectly fixes how anemic all the non-explosive ship weapons
were.

This should probably also check armour piercing, the armor on a mob and
have some values tweaked for some weapons, but I wanted to keep this a
pure bugfix, so the numbers are exactly as they were before this was
broken.

Lore people might want to check their weapons to decide what they should
pierce, how much and how often.



https://github.com/user-attachments/assets/538a3a21-a796-4a81-ba53-6f91addd6785
2026-04-07 14:52:10 +00:00
CatsinHD 130988fa44 6.8mm and PRA rifle rebalance (#22089)
Rebalances the 6.8mm bullet and it's AP variant to not be antag shredder
9000. Additionally, alters pricing in the cargo order list and adds an
AP variant of the 6.8mm to the cargo order list. The values for the
rounds are below.

6.8mm: 40 dam | 12 AP
6.8mm AP: 30 dam | 30 AP

Against 55 armor (major ballistics armor):
6.8mm: 13 damage
6.8mm AP: 18 damage
5.56: 16.67 Damage
5.56 AP: 25 Damage
7.62: 18.56 Damage

The thought process behind these values:
<details><summary></summary>
<p>
Adhomai does not make wide use of personal body armor. As a result,
ammunition does not prioritize defeating body armor. Therefore, it is
more effective the less armor one has, leading to a high damage value
but low AP values. As they are rifle power cartridges, there is still
some AP. The specific 6.8mm AP cartridge was created for defeating the
armor of the S'rand'marr coalition, thus why it is comparable to 7.62
</p>
</details> 

These values can be tweaked as needed to make the rifle and ammo
reasonable.
This PR DOES NOT modify the rifle itself, and therefore should not
conflict with #22088
2026-03-26 21:49:14 +00:00
Casper3667 f09bcd6cdd Replaces security disruptors with ballistics and removes all disruptors (#21987)
Security officers and the warden each get a .45 pistol loaded with
rubbers, and a spare rubber mag in their lockers.
The investigator get a new .45 revolver loaded with rubbers, based on
the konyang revolver, and a speedloader, also with rubbers.

The armory has had .45 speedloaders added to it, but is otherwise
untouched.

Also the autolathe gets to print .45 speedloaders now for the
investigator gun.

Practice ammo has been added to the autolathe.

The Elyran ERT had their disruptors replaced with plasma pistols.
Other non-Horizon disruptors were replaced with lethal .45.
Horizon disruptors were replaced with rubber .45.
2026-03-25 21:19:47 +00:00
Cody Brittain 23789d4113 Sorts out existing projectile weapons (#22059)
This PR is intended to sort out our existing guns into something
resembling organization. In addition, ancient decrepit guns are removed,
and abstract paths are labeled as such.

In addition, all guns are now standardized to refer to their model.
Considering the huge number of weapons we have, a `pistol` is not
descriptive enough.

NOTE: At over 200 files touched, this is being split. Not everything was
sorted, but this is already a monster to sort through. The rest can
wait.
2026-03-25 15:37:50 +00:00
Cody Brittain b525005618 Nerf incendiary projectiles (#22015)
Incendiary projectiles, from things like hivebots, plasma weapons, and
incendiary shotguns, were too powerful. This nerfs them drastically.
2026-03-16 21:10:32 +00:00
CatsinHD a1e55d0958 Right Arms of the Broken World - Tajara Gun Resprites (#21743)
Resprites 3 Tajaran rifles, expanding them to use a 48x32 canvas, and
brings them in-line with lore as written in terms of weapon design
history. Additionally, adds 6.8mm in the form of the Tajaran Z33
Tamparii cartridge to further separate Tajara and Human history and arms
development.

All weapon sprites are made by me, except the ba and ss sling which was
borrowed from the Dominian rifle sprites. Special thanks to Elorg for
help in making these not look awful.
<details><summary>Z33 Tamparii</summary>
<p>
<img width="331" height="332" alt="image"
src="https://github.com/user-attachments/assets/f9892dc8-9c6d-45c6-8779-3ad3e39abaed"
/>

An old caliber that continues to show its usefulness. The compromise
between weight and firepower, as well as room to change the powder load
has seen the cartridge remain in service across Adhomai.
</p>
</details> 
<details><summary>Tsarrayut Rifle (PRA)</summary>
<p>
<img width="572" height="387" alt="image"
src="https://github.com/user-attachments/assets/53327f3b-4b87-415e-8215-b1c2ccc08c9c"
/>

Redesigned to a general magazine-fed rifle. Not meant to be flashy or
cool, simply easy to mass-produce and train conscripts. Additionally,
still takes old bolt action rifle clips.
</p>
</details> 
<details><summary>Hotaki Marksman Rifle (ALA)</summary>
<p>
<img width="586" height="400" alt="image"
src="https://github.com/user-attachments/assets/c08986ec-1134-4869-8dc2-36b981a211f9"
/>

Carries many of the same lines and design from the Tsarrayut, especially
in the receiver. However, it was modified to be a bullpup for a longer
barrel. Higher bullet velocity for a similar overall length; perfect for
a marksman harassing down an enemy.
</p>
</details> 
<details><summary>Mrrazhak Assault Rifle (ALA)</summary>
<p>
<img width="483" height="332" alt="image"
src="https://github.com/user-attachments/assets/3f0a2885-49bb-418b-b956-4d2f89a60b40"
/>

Pretty much a shortened Hotaki. Intended to have a similar barrel length
to the Tsarrayut, but a shorter overall gun.
</p>
</details> 

WIP for the following items:

- [x] Golden Mrrazhak
- [x] Cartridge balancing
- [x] Addition/clean-up with uplink items
- [x] Addition/clean-up with ghost roles

---------

Signed-off-by: CatsinHD <31459154+CatsinHD@users.noreply.github.com>
Signed-off-by: Wildkins <john.wildkins@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
2026-02-17 16:30:22 +00:00
Matt Atlas fa7214de3c Adds smooth movement/atom gliding, buffs everyone's speed by 2x. (#21662)
Revives https://github.com/Aurorastation/Aurora.3/pull/17215 with the
needed species changes.

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

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



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

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
2026-02-03 17:17:11 +00:00
Cody Brittain 3f62424312 [MDB Ignore] [IDB Ignore] Kills off /obj/item/device (#21774)
This has zero reason to exist in our code base. We have no procs or
variables tied to this. I removed it to make future modifications
cleaner.

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-01 05:14:26 +00:00
Batrachophreno 7d058fc613 Jukebox TGUI update, Earphones autoplay, sound keys refactor (#21630)
V2 of [previous music playing
PR](https://github.com/Aurorastation/Aurora.3/pull/21466). TLDR no
longer uses the connect_range component for implementation because it
turned out a bit too inflexible for overlapping music players.

Removes a NanoUI template for the [TGUI
update](https://github.com/Aurorastation/Aurora.3/pull/21046).

New changelog:
  - refactor: "Ported Jukebox's NanoUI interface to TGUI."
- refactor: "Ported Jukebox audio playing functionality to a component."
- refactor: "Sound keys refactored from singletons to datums, along with
larger breakout of sound.dm to allow for easier SFX updates in future."
  - code_imp: "Expanded track datums to include track lengths."
- code_imp: "Reorganized music file folders for more intuitive access."
  - rscadd: "Earphone status feedback text now includes track length."
  - rscadd: "Added autoplay functionality to earphones."
- bugfix: "Fixed earphones' 'Previous Song' verb not sending you to the
end of the playlist when used while the first track is selected."
- bugfix: "Fixed gain adjustment for 'Konyang-1' (-23 dB -> standard
-9.8 dB)."
- bugfix: "Fixed y-offset of audioconsole-running overlay animation to
line up with the actual screen."

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-01-22 16:54:40 +00:00
4000daniel1 aa7e23f758 Holodeck Combat Training Arena Fix and Tweaks (#21603)
This PR maps in the combat training arena AREA into the map, allowing
for it to be actually spawned.

Also changed its layout and added in in two self recharging xenofauna
guns for people to shoot the carp with.
2026-01-17 10:57:11 +00:00
Matt Atlas e0aa218843 Shell May Cry: A comprehensive rework of synthetics. (#20721)
https://www.youtube.com/watch?v=9mPvZ96pHJI

A pull request commissioned by the Synthetic Lore Team to
comprehensively rework synthetics (read: IPCs) and how they work in
Aurora. The objective is to make IPCs as unique as possible from humans,
upgrading the robotic feel and atmosphere, while also preserving a good
sense of balance in-game.

Key features:

- A comprehensive expansion of synthetic organs, all of which now
fulfill a purpose: hydraulics, cooling units, power systems, actuators,
diagnostics units.
- Customizable organs with benefits and drawbacks, such as with cooling
units and power systems.
- Unique ways to repair the organs and more involved steps.
- Unique damage mechanics - every organ has wiring and electronics which
affect its functioning, and they are defended by plating which provides
natural armour.
- Improved and immersive diagnostics.
- Unique features, benefits, and drawbacks for every IPC frame.
- A rework of the positronic brain, which can be either destroyed or
shut down, alongside effects caused by low integrity.
- A rework of how EMPs affect IPC organs.
- Non-binary damage states for each organ.

To-do:

- [x] Finish the unique features for each frame.
- [x] Look into if mechanical synthskin is possible.
- [x] Power system.
- [x] Posibrain mechanics.
- [ ] Passive cooling expansion.
- [x] EMP mechanics.
- [x] Repair mechanics.
- [x] Mob weight mechanics.
- [ ] Gurney for heavy mobs.
- [x] New augments.
- [ ] IPC tag scanning and flashing.

---------

Signed-off-by: Werner <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
2025-12-21 16:26:23 +00:00
Batrachophreno af0312c7d4 Bugfix batch (Pesticide Edition) (#21556)
Fixes https://github.com/Aurorastation/Aurora.3/issues/18504
Fixes https://github.com/Aurorastation/Aurora.3/issues/21064
Fixes https://github.com/Aurorastation/Aurora.3/issues/21267
Fixes https://github.com/Aurorastation/Aurora.3/issues/21455
Fixes https://github.com/Aurorastation/Aurora.3/issues/21535

Miscellaneous bugfixes, code cleanup, etc. Smaller batches this time.

changes:
  - spellcheck: "Renames 'gibber' to 'autobutcher'."
  - code_imp: "Cleans up a lot of old autobutcher code."
- code_imp: "Simplifies and unifies a lot of circuit board naming code."
  - code_imp: "Updates various code comments to DMDocs format."
- balance: "Slightly increased damage of beating someone with a ladder."
- bugfix: "Fixes foreign speech displaying the translated versions in
langchat for non-fluent listeners."
- bugfix: "Fixes whispered speech langchat; whispers are now correctly
italicized."
- bugfix: "Fixes shouted speech langchat; shouts are now correctly
biggified."
  - bugfix: "Adds missing Omni Gas Mixer, Gas Meter options from RFD-P."
- bugfix: "Adds missing circuit boards for bioballistic delivery system,
lysis-isolation centrifuge, and autobutcher to allow for construction
and deconstruction."
- bugfix: "Fixes empty algae chips bag having description set for its
name."
- bugfix: "Adds fallback_specific_heat values to several reagents that
were missing them."
- bugfix: "Fixes antimateriel projectiles being erroneously
damage-capped when hitting walls."
- bugfix: "Fixes laser beam effects not using the base colors of their
beam VFX."
- qol: "Added helpful feedback hint to move closer when someone speaks
aloud within 4 tiles while you're in vacuum (as features go, this one
felt more like a bug to experience)."
  - qol: "Updated various examine hints."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-11-11 10:56:12 +00:00
Matt Atlas 94d92803b4 Replaces our lighting system with CM's. (#21465)
Depends on #21458.

Ports https://github.com/cmss13-devs/cmss13/pull/4229, with the original
authors as:

- https://github.com/tgstation/TerraGov-Marine-Corps/pull/1964 for the
lighting controller (A-lexa)
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/4747 and
https://github.com/tgstation/TerraGov-Marine-Corps/pull/7263 for the
lighting (TiviPlus)
- https://github.com/tgstation/tgstation/pull/54520 for the dir lighting
component
- https://github.com/tgstation/tgstation/pull/75018 for the out of
bounds fix in lighting
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/6678 for the
emissives (TiviPlus)

The main driving reason behind this is that current lighting consumes
way too much processing power, especially for things like odysseys/away
sites where a billion light sources are processing/moving at once and
the game slows down to a crawl. Hopefully this improves the situation by
a good margin, but we will need some testmerging to confirm that.
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/1059ba2b-c0c5-495a-9c76-2d75d0c42bf2"
/>
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/9704b0f6-4cf6-4dfd-a6cb-5702ad07d677"
/>


- [x] Resolve todos
- [x] Look into open space fuckery (border objects)

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: JohnWildkins <john.wildkins@gmail.com>
2025-11-04 21:27:42 +00:00
Matt Atlas 3837112bd1 Revert "Fix missing pixels in new hairstyle" (#20854)
bad merge
2025-06-17 02:33:31 +02:00
Birigilis 72c032a847 Adds Armor-Piercing 9mm Magazines to the game (#20815)
-Adds Armor Piercing 9mm Ammo along with Pistol Magazines for it.

-It currently deals 12 damage and has 30 Armor-Penetration, allowing it
to deal more damage than .45 to armored opponents however it struggles
against unarmoured targets due to it's low damage output

Only available on the Antagonist Uplinks for now.


![9mmap2](https://github.com/user-attachments/assets/81b9f758-8e8e-4f0b-ad8a-b399c5fabd60)

---------

Signed-off-by: Birigilis <kavbest10@gmail.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-06-16 23:26:24 +00: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
Cody Brittain a7913b1bac Fixes multiple pellet hits from projectiles not dealing damage. (#20808)
Fixes #20807
2025-06-11 09:51:49 +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 c5dabb9cda Armor defines (#20563)
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
2025-03-09 21:37:46 +00:00
Fluffy 7265630dde Turn more unmanaged global vars into GLOB (#20446)
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.
2025-02-17 23:34:02 +00:00
Fluffy ad563abffa Frag grenades buff (#20135)
Frag grenades projectiles now apply some agony and eyeblur.
Frag grenades projectiles have damage augmented by 3 points (~10%).
Frag grenades projectiles have an augmented chance of leaving a shrapnel
(+30%).
Frag grenades projectiles have a chance to ricochet up to 2 times.
Some code cleanup and removed some procs that were no longer used
(nothing called them anymore) from the projectile refactor.
2024-11-08 15:38:57 +00:00
Fluffy c24b4c7097 Projectile refactoring madness (#19878)
Refactored the projectile code, mostly in line with TG's now.
Refactored various procs that are used or depends on it.
Projectiles can now ricochet if enabled to.
Damage falloffs with distance.
Homing projectiles can now have accuracy falloff with distance.
Projectiles have a maximum range.
Muzzle flash is configurable per projectile.
Impact effect of the projectile is configurable per projectile.
Accuracy decreases with distance.
Projectiles work with signals and emits them, for easy hooking up from
other parts of the code.
Meatshielding is now less effective .
Impact sound is now configurable per projectile.

High risk.
2024-09-23 10:12:57 +00:00
Fluffy 60603e6098 Tranq rifle projectiles now weakens animals (#19784)
Tranq rifle projectiles now weakens animals for a bit, the larger the
animal, the longer it takes for this to happen.
Refactored the tranq rifle projectile code.
2024-08-20 14:01:11 +00:00
Fluffy 3e1b9d4170 Repathed /obj/item/projectile to /obj/projectile (#19693)
Repathed /obj/item/projectile to /obj/projectile, same as TG and Bay,
that's pretty much it.
2024-07-27 10:09:46 +00:00
Fluffy 92c3ec6caf SSthrowing (#19421)
Ported SSThrowing from TG, to handle throwings.
Updated movement system to the latest iteration, made it a datum as per
latest iteration.
Updated pass/hit handling of atoms, introduced pass_flag_self to
determine what atoms allow to pass.
Moved procs and defines around to make them more organized.
2024-06-18 19:32:06 +00:00
Fluffy d2b807194d Cult buff (#19386)
Added a single-use-per-round rune that can convert a mech into a cultist
mech, needs 2 minutes to do so and is single use, so max 1 cult mech per
round.
Added the ability to upgrade a pylon into turret mode using the cultist
blood, by clicking on the pylon with disarm intent.
Fixed do_after not using the callbacks at all (because it never passed
the parameter to do_after_detailed).
Some improvements to the pylons and runes code, DMDocs.

---------

Signed-off-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Co-authored-by: Geeves <ggrobler447@gmail.com>
2024-06-14 14:19:19 +00:00
Fluffy 798a253be5 Fixed the gauss highex projectile from runtiming (#19283)
Fixed the gauss highex projectile from runtiming when hitting a wall (or
non movable atoms).
Removed a sleep and turned it into an async.
2024-05-31 20:15:30 +00:00
Fluffy 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
RustingWithYou 5d67c4d0ad Unathi Guns & Armor (#18692)
Adds several pre-contact Unathi gun designs, some of which currently
accessible through antag gear crates and the Unathi pirate ghost ships.
All gun sprites done by Gecko.

Additionally buffs the generic Unathi armor and Hegemony armor to be
more on par with standard plate carriers instead of just being good at
melee and terrible at everything else, as well as respriting the generic
armor and rewriting flavor text. Armor resprites done by Dronz.
2024-04-01 21:40:28 +00:00
Matt Atlas 13cbf1267e Added a new mob and a weapon for Purpose. (#18500)
* extreme measures

* hunter killer

* Adds a new mob and a weapon for Purpose.

* cl

* Update code/modules/clothing/spacesuits/rig/suits/terminator.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2024-02-26 08:47:49 +00:00
Ben d2e5562116 Adds new Golden Deep Ornate Energy Pistol and gives it to Consular (#18343)
* Code for da gun & changelog

* less crazy

* Adjust

* fix + temp projectile

* fix

* Golden deep suit and caps to effects

* noise

* Sprites and LORE

* nerf

* forgot cap

* Dizzy

* Forgot to renable eyeblur, should be final change

* changes

* disabler projectile

* Suggested Changes

* Requested Changes

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2024-02-15 17:32:57 +00:00
TheDanseMacabre 7599b96e22 Uplink Additions: The Hitman DLC (#18152)
* adds the gun

* let's get it

* braindead danse

* Why is this here?

* Update code/modules/projectiles/guns/projectile/automatic.dm

Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>

* updates

* the curse of spaces

---------

Co-authored-by: DanseMacabre <rsurname1212@gmail.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2024-01-10 23:44:51 +00:00
Matt Atlas cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00
Geeves 346a721753 Cult Rune Scribing Tweaks (#17980)
* Cult Rune Scribing Tweaks

* agony

* Update code/game/gamemodes/cult/items/tome.dm

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>

---------

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2023-12-21 11:40:51 +00:00
Fluffy df03176859 Aurora: Vietnam Edition (#17859)
* standstill landmine

* more

* fsdfsa

* cl

* sdaf

* Apply suggestions from code review

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>

* sadsdf

* sdaf

* sdaf

---------

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2023-12-09 21:28:54 +00:00
Avery Marie c56041e87e SCC Energy Pistol (#17854)
* First Test

* fixes projectile type

* Gun works!

* blah

* testin

* SCC Energy Pistol

* Tweaks Damage

* Removes the random map change, sorry.

* Removes the turret confusion

* Updates the changelog to be more specific

* Forgot to delete this

* Gun dmi changed

* fixes some code
2023-12-06 18:46:48 +00:00
Fluffy d8d063edc6 EMP Refactor & Multi Z-level EMPs (#17781)
* sdfasf

* sdfas

* dsf
2023-12-04 19:37:49 +00:00
Geeves a30ae9af30 Shotgun Consistency (#17769) 2023-11-27 23:21:38 +00:00
Cody Brittain 06601c9ec3 Split up and rename var/flags (#17794)
* Split up and rename `var/flags`

* Various fixes

* CL

* Don't rename Phoron Guard phoron preset

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2023-11-22 16:27:51 +00:00
Fluffy c25c8b6a37 Last editorconfig fixup (#17782)
* one

* two

* three

* fsdsdf
2023-11-20 18:22:42 +00:00
CampinKiller24 30383cdefa Buffs Stinger Grenades (#17747)
* p

* real
2023-11-13 19:46:20 +00:00
Cody Brittain c40d76fa57 Added the Xanan dNAC-6.5 assault rifle (#17613)
Co-authored-by: Cody Brittain <cbrittain10@live.com>
2023-10-21 23:11:58 +00:00
Geeves c69513fa3f Thermal Drill Buff (#17437) 2023-10-17 21:05:02 +00:00
Cody Brittain 18d69d56ab Energy Rifle Buff (#17498)
Co-authored-by: Cody Brittain <cbrittain10@live.com>
2023-10-05 18:19:48 +00:00