Commit Graph

182 Commits

Author SHA1 Message Date
Cojoke
c8e3b2c37e Fix the ability to shoot out of crates (#28961)
* Fix the ability to shoot out of crates

* Makes it check what inventory the player is in

* use IsEntityOrParentInContainer

* Fix Issues Github had

* gaahhh... Prevents lasers from being shot out of crates

* gaahhh... Prevents lasers from being shot out of crates

* Fix laser?

* hmmm... this is better looking I think?

* Uncook indentation

* Rerun tests?

(cherry picked from commit 19a06b6cc0498fa59ffe7328df0f524f753968f4)
2026-02-07 19:04:37 +03:00
Gersoon
54ddd36c8c EventShuttles (#1051)
* YooBroFirstTry

* FixPostMapInitTest

* Fix2

* fixRedFox

* +anchors
2026-01-25 15:04:12 +03:00
SlamBamActionman
52eb369c33 Fix hitting through directional windows (and more!) (#34793)
(cherry picked from commit f25720124ab5fe63a4389af74f67c9d430ae2294)
2025-09-20 20:34:16 +03:00
Джексон Миссиссиппи
2bbad4b8a7 cleanup melee (#32486)
* it removes warns ig

* Quick fix

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

(cherry picked from commit 9b71757c0765eee1dc56bd108d1413e107c86eac)
2025-09-20 20:34:15 +03:00
RedFoxIV
ba7630aaa7 [tweak] overcooked attempt 2 (#776)
* SUPER

* HOT

* ok it runs

* please work

* test

* tteesstt

* забыл

* fugg

* reword
2025-08-17 00:22:20 +03:00
RedBurningPhoenix
3b88595aa9 [Fix] Boxes/magazine's examine. And UseButton for extract. (#673)
* Fix examine and Z button

* okay?
2025-07-23 10:28:35 +10:00
Spatison
9854f225cf fix upstream: part 1 2025-07-21 20:45:10 +10:00
Cojoke
8f355ef036 Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>

(cherry picked from commit ef1fadf2752789ffc4f59309e2dd7490aee6f4e7)
2025-07-20 14:08:05 +10:00
LankLTE
7194e3c67a Darts can now pop balloons. (#30088)
Basic implementation.

(cherry picked from commit 395b296d68318c2572bfcf67de73b71d01eb2623)
2025-07-18 15:34:55 +10:00
VMSolidus
4ca5bf2131 Weapon Range Fixes (#2442)
My previous code for melee weapon range modifiers was missing, this PR
restores and adds actual functionality for weapon range modifiers in all
instances of weapon range, as well as adds specific range modifiers for
light attack and disarm attack.

🆑
- fix: Fixed melee weapons "Bonus range for heavy attacks" not
functioning correctly.
- add: Added support for melee weapons having bonus range on disarms or
light attacks.
2025-07-12 02:16:34 +10:00
vanx
ac38c588eb [Tweak] Gunplay (#630)
the gunnening

Co-authored-by: vanx <discord@vanxxxx>
2025-06-30 15:46:54 +10:00
RedFoxIV
02c40439f0 [fix] [возможно, но не точно] a steroids (#634)
* let's try this

* whoopsies

* fugg
2025-06-28 11:31:40 +03:00
RedFoxIV
0536fc8645 Fuselage rust stage 2 (#629)
* the definition of insanity

* the definition of insanity

* the definition of insanity

* we have hullrot at home

* maybe the real hullrot was the friends we made along the way

* john hullrot

* i am going to hullroooooot

* it's hullrotver

* we're so hullback

* we're rotting the hull with this one

* hullmerge

* the hullrot is leaking

* never gonna rot you up

* hullfresh

* john starsector

* god i wish we had grid collision damage

* you can tell I am very tired because I stopped forcing a hullrot joke into every commit message

* hr

* this is a surprise sprite that will help us later

* motherfucker

* i have nothing good to say

* still nothing

* brb

* random letter random letter random letter dash random number random number random number

* ass

* blast

* ffs

* fcuk

* RE: ffs

* RE: RE: ffs

* гнида жестяная

* continue

* i hate tests

* i love tests

* slide to the right

* i hate tests again

* what the fuck

* ты шиз?

* ??

* bbgun
2025-06-28 11:31:07 +03:00
Spatison
54086988e3 Mass clean up (#587)
* mass clean up

(cherry picked from commit 12bb873b02c1ef50e20763542b030452cc0613da)

* Revert "Centrifuge buff (#393)"

This reverts commit 2a59a18230.

(cherry picked from commit 9ee495ab4bb365e1ccd3dc627ecb55114fea6944)

* Shoving merge conflict

* fix rich traitor

* fix test

* yml

* fix test

* fix test

* ohh
2025-06-16 20:35:48 +03:00
vanx
6a4cd3ed4f [Tweak] Shove 6 (before GTA 6) (#582)
* shove 6

* chill

* utochnenie

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-06-13 22:48:31 +03:00
RedFoxIV
af21168537 Fuselage rust (#551)
* the definition of insanity

* the definition of insanity

* the definition of insanity

* we have hullrot at home

* maybe the real hullrot was the friends we made along the way

* john hullrot

* i am going to hullroooooot

* it's hullrotver

* we're so hullback

* we're rotting the hull with this one

* hullmerge

* the hullrot is leaking

* never gonna rot you up

* hullfresh

* john starsector

* god i wish we had grid collision damage
2025-06-11 11:04:48 +03:00
vanx
714714f1b8 [Fix] Melee Damage Examine (#574)
fix

Co-authored-by: vanx <discord@vanxxxx>
2025-06-11 00:07:31 +03:00
vanx
2be4c857c3 [Tweak] Shoving Remastered (#565)
shoving = good

Co-authored-by: vanx <discord@vanxxxx>
2025-06-09 21:23:28 +03:00
Spatison
7d72b86d19 Reapply "Hot reload 2: Electric Boogaloo" (#524) (#525)
* Reapply "Hot reload 2: Electric Boogaloo" (#524)

This reverts commit d856b8e7a0.

(cherry picked from commit c02e513f4f26877f2fc69478a0701ab9e751d603)

* blya

(cherry picked from commit 777edbfbd9ef560c511505e4811d1d59ce4c81ee)
2025-05-27 14:02:22 +03:00
DVONIKS
d856b8e7a0 Revert "Hot reload 2: Electric Boogaloo" (#524)
Revert "Hot reload 2: Electric Boogaloo (#518)"

This reverts commit 2fd1dd9a51.
2025-05-27 13:50:09 +03:00
RedFoxIV
2fd1dd9a51 Hot reload 2: Electric Boogaloo (#518)
* What have i become?

My sweetest metagang

* Everyone i know disconnects

In the end

* And you could have it all

My repo of dirt

* I will let you down

I will make you hurt

* I wear this crown of commits

Upon my liar's branch

* Full of broken code

I cannot compile

* Beneath the stains of time

The comments disappear

* You are someone else

I'm still down here

* What have I become?

My sweetest metafriend

* Everyone i know gets perma'd

In the end

* And you could have it all

My broken repo

* I will let you down

I will get you banned

* If i could start again

A million servers away

* I would keep myself

I would find a way

* ...

* . . .

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* какая удобная фича

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* .  .  .

* mnda

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Boevi4ok <156510964+89Eblan@users.noreply.github.com>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-05-27 00:56:11 +03:00
DVONIKS
8eed4ab003 Revert "Hot reload" (#517)
Revert "Hot reload (#500)"

This reverts commit c754a645d7.
2025-05-25 18:16:04 +03:00
RedFoxIV
c754a645d7 Hot reload (#500)
* What have i become?

My sweetest metagang

* Everyone i know disconnects

In the end

* And you could have it all

My repo of dirt

* I will let you down

I will make you hurt

* I wear this crown of commits

Upon my liar's branch

* Full of broken code

I cannot compile

* Beneath the stains of time

The comments disappear

* You are someone else

I'm still down here

* What have I become?

My sweetest metafriend

* Everyone i know gets perma'd

In the end

* And you could have it all

My broken repo

* I will let you down

I will get you banned

* If i could start again

A million servers away

* I would keep myself

I would find a way

* ...

* . . .

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* какая удобная фича

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* .  .  .

* mnda

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Boevi4ok <156510964+89Eblan@users.noreply.github.com>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-05-25 02:26:27 +03:00
Spatison
2a10c02eb5 No spead merge (#475)
* Revert "[GoobPort] WIZ REAL (#465)"

This reverts commit 091a8ff433.

* fix local
2025-04-26 10:50:32 +03:00
Kai5
091a8ff433 [GoobPort] WIZ REAL (#465)
* Уэээээээ

* Почти настрадались

* Скоро конец....

* СКОРО

* Мышки плакали, кололись, но продолжали упорно жрать кактус

* Все ближе!

* Это такой конец?

* Книжка говна

* фиксики

* ОНО ЖИВОЕ

* Телепорт

* разное

* Added byond

* ивенты теперь работают

* Разфикс телепорта

* Свет мой зеркальце скажи, да всю правду доложи - Я ль робастней всех на свете?

* Разное

* Еще многа всего

* Многа разнава

* Скоро конец....

* ЭТО КОНЕЦ

* Фикс линтера (ну, или я на это надеюсь)

* Еще один фикс линтера

* Победа!

* фиксики

* пу пу пу

* Фикс подмастерья

* Мисклик

* Высокочастотный меч

* Неймспейсы

* Пул способностей мага
2025-04-26 10:18:58 +03:00
Remuchi
1e363c7346 Revert "Merge pull request #462 from WWhiteDreamProject/revert-460-upstream"
This reverts commit 092dba42e5, reversing
changes made to e6315c2320.
2025-04-20 11:15:45 +07:00
DVONIKS
6c19771020 Revert "Upstream 04.04-18.04" 2025-04-20 06:34:09 +03:00
VMSolidus
a040f93ced More Gun Reworks: Manual Action Edition (#2165)
# Description

This PR is yet another step on an ongoing set of refactors for guns.
This restores the functionality for weapons to operate as "Manually
Cycled", IE: Bolt Action or Pump Action. I've also fixed some older bugs
related to firearms, such as manually loading cartridges not updating
the ammo display, and manually cycling the gun not ejecting the
cartridge. And even further, fixing instances where guns would fail to
correctly eject cartridges using ejection force variables set by the gun
itself.

There's also some other small balancing changes to other guns that make
use of the DamageModifier datafield added in my previous rework. Namely
the Cobra and Mosin both use this datafield now. The .25 cartridge has
had its damage reduced to 15 per shot(from 19), so that it is properly
smaller than the .35 cartridge. This is largely to address issues of the
FPA-90 and R25 rifles being kinda overpowered in their damage output. To
keep this nerf from affecting the Cobra however, the Cobra has picked up
an innate damage modifier that restores it to the original damage
output.

The Mosin's been rebalanced around its hunting rifle powerhouse
aesthetic, it has a beefy damage modifier that brings it up to 42 damage
per shot. This is acting as a fun tradeoff for it having only a 5 round
internal magazine, and being changed to a bolt action weapon. It's still
insanely cheap, to a point a traitor or a head revolutionary can afford
40 of them. This 42 damage calculation is specifically set such that you
can consistently drop "wound into crit" unarmored crew in 2 shots (84+
HEAVY bleed will drop them consistently), while shooting security
requires the full 5 rounds.

The general gist of what these bolt action guns is that they'll
typically have better characteristics for "Single source damage" than
their non-bolt action counterparts. While for Shotguns, we can now make
shotguns follow various common shotgun tropes that players expect from
video games, such as the "Super shotgun" that obliterates anything at
pointblank, or the "Street sweeper" that trades some of its accuracy for
extra room coverage. Or the "hunting shotgun" that beats all of them at
midrange.

<details><summary><h1>Media</h1></summary>
<p>

https://github.com/user-attachments/assets/00ae2b34-f3f2-4fd9-adad-7147507a6c31

</p>
</details>

# Changelog

🆑
- add: Added "Bolt Action" or "Pump Action" gun options.
- add: Added new sound fx for shotshells when landing on the ground or
colliding with objects after being thrown.
- tweak: Kammerer and Enforcer are now pump action shotguns, featuring a
choke that gives them 50% tighter spreads in return for needing to be
pumped (press Z) after each shot.
- tweak: Mosin Nagant is now a proper bolt action rifle. The bolt must
be worked manually (press Z) after each shot. The fun tradeoff is that
it now hits like a truck with 42 damage a shot.
- tweak: Bulldog shotgun now has a wide choke, it fires 33% more
projectiles per shotshell, while also having a 50% wider spread. Cover
the station hallways in lead. Pairs nicely with birdshot if you really
want to sweep rooms.
- tweak: R25 and FPA-90 both now deal 15 damage per shot, instead of 19.
- fix: Fixed guns not correctly ejecting cartridges(they were instead
dropping them at your feet).
- fix: Fixed guns not updating the ammo counter UI when loaded manually.

(cherry picked from commit a86362b8ad712678f1316e2cd55f5e888736f718)
2025-04-18 19:08:27 +03:00
TotallyNotAHSKveez
603aafdbc2 [Add] Hos bats (#378)
* I hate it

* Added ability to choose target body part on item throwing

* забыл

* WeaponRandom works with throwable weapon

* RadialEntityMorph & RadialBUI fix

* ru&en localization

* Я себя зарежу нахуй за такое

* Правки рисованной хуйни и прототипы с лодаутами

* fuck

* ну хорошо блять, убедил, одну пустую строчку уберу

* loadout move to _White

* Я после тех 3х банок не помню нахуй это нужно было

* 1 more fix
2025-03-27 17:24:25 +03:00
VMSolidus
935a4165c7 Shotgun Variation (#1997)
# Description

A longstanding request by @OldDanceJacket
This PR introduces several new datafields for guns, allowing guns to
influence some of the characteristics of projectiles directly. Guns can
now change the damage, shotgun spread, shotgun projectile amount, and
even change the spread style of projectiles. This is currently used--
for demonstration purposes, by the Sawn-off shotgun, the Kammerer, and
the Energy Shotgun.

Shotguns now have a "More random" style of spread, where each individual
pellet in the cone can have its own spread angle independent of other
pellets, meaning the damage is less predictable at range, with more
variation(you can sometimes get more or less pellets hitting the
target). However, "Laser Shotguns" such as the Warden's E-Shotgun use
the classic spread behavior!

<details><summary><h1>Media</h1></summary>
<p>

https://github.com/user-attachments/assets/766254c0-258c-462c-bed0-81fd2dd930f2

</p>
</details>

# Changelog

🆑
- tweak: Most shotguns now have a new "More random" spread pattern.
Instead of a perfect fan of projectiles, each projectile has its own
random path inside the arc. "Laser Shotguns" like the E-Shotgun use the
classic "Perfect fan" style of spread.
- tweak: The Kammerer now has a hunting choke, giving it a noticeably
tighter spread than other shotguns.
- tweak: The sawn-off shotgun now has a significantly wider
spread(Making hitting anything reliably beyond 3 tiles quite hard). As a
trade-off, it's now a bit like a Super Shotgun. Its projectiles deal 50%
bonus damage.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit de740f808773221dff9f730a27f640ed756e9460)
2025-03-21 17:25:56 +03:00
VMSolidus
fb53ee40f3 Un-Hardcode Casing Ejections (#1991)
# Description

This Un-hardcodes casing ejections, making it so that on a per-gun
basis, guns can change how much force they throw spent casings with.

# Changelog

🆑
- tweak: Guns can now individually change how much force they eject
spent casings with.

(cherry picked from commit 39df0e2b59c17661973f8ce6e3e9a51772d7d969)
2025-03-21 17:20:36 +03:00
vanx
43ed25f0b8 [Fix] Disarm Malus (#335)
disarm malust 2

Co-authored-by: vanx <discord@vanxxxx>
2025-03-13 15:38:17 +03:00
vanx
a903e6b808 [Tweak] Shove 4 (#315)
shove 4

Co-authored-by: vanx <discord@vanxxxx>
2025-03-11 17:28:28 +03:00
vanx
15e0b54964 [Tweak] Shove 3 (#304)
* shove 3

* forgor

* marks

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-03-10 14:27:06 +03:00
vanx
49352a644e [Fix] Shoving 2 (#295)
* better shoving

* typo

* shoving 2

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-03-08 22:11:37 +03:00
vanx
8959feede1 [Fix] Melee Description Popup (#286)
fix this shit !!!

Co-authored-by: vanx <discord@vanxxxx>
2025-03-08 10:35:25 +02:00
vanx
cce56e56ce [Tweak] The Gunnening (#285)
* wrapped examine (pretty)

* so mentally done

* remove ammo counters

* fix

* the soundening

* less visual recoil

* rifle fixes

* the soundening 2

* i loved # WWDP too much

* review fixes

* fix mag visuals

* top round examine

---------

Co-authored-by: vanx <discord@vanxxxx>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-03-08 10:35:03 +02:00
vanx
f7b5dcbc04 [Tweak] Better Shoving (#280)
* better shoving

* typo

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-03-07 08:54:20 +02:00
Spatison
79fabb0068 [Fix] Yaml Linter (#277)
Fix yaml
2025-03-07 11:21:23 +07:00
Spatison
8a95ee85bf Upstream 28.02-03.03 (#268)
* More Tajaran Markings (#1834)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Description.
Adds separate eye colors to Tajaran and makes most of the markings from
"Fashion Update: Earrings & Makeup" available to Tajarans
---

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![image1](https://github.com/user-attachments/assets/4ceace8e-c1bd-4ee8-833a-19cf2cf9626d)

![image2](https://github.com/user-attachments/assets/7b2d6d25-4335-4f5e-96eb-8f0ae187e459)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑 Tonk
- add: Tajarans now have separate eye, wrist, tattoo, and makeup
markings

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit e45008ddf8a529c2126907ecac8ffff2a74058de)

* Automatic Changelog Update (#1834)

(cherry picked from commit 0091c1ebdc4bc768c0906049fa9d417d962d1839)

* Cybernetics Trait Changes (#1828)

# Description

Changes/buffs to Cybernetic Traits.
Some lesser used traits get some love, while some other stuff gets some
logical re-balancing.

Feel free to point out if some shitcode is broken or need explaining.

---

# TODO

- [ ] I got ideas cooking that I don't know how to code

---

# Changelog

🆑

tweak: Striking Calluses no longer require you to be one of 3 jobs and
Human. Also increased the +1 damage to +2.
tweak: Bionic Spinarette SHOULD no longer have a hunger penalty and
costs less.
tweak: Platelet Factories heal rate buffed from 0.07 to 0.35, airloss
from 0.7 to 0.25 and healing cap increased from 200 to 400.
tweak: Decreased the cost of Thermal Vision to be in line with Night
Vision.
    tweak: IPC Platelet Factories healing cap increased from 200 to 250
    tweak: Cyber-Eyes Omnihud now pickable by Command too.
fix: Fixed name and description of Cyber-Eyes Modules for Night Vision
and Thermal Vision.
    remove: Mind over Machine from Cyber-Eyes Modules.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- "Striking Calluses" now delivers increased unarmed strike damage,
enhancing combat performance.

- **Documentation**
- Trait names and descriptions have been updated for greater clarity and
consistency, including changes to "Cyber-Eyes" terminology.

- **Chores**
- Redundant trait options were removed from the selection pool to
streamline gameplay.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit a480c6605ebdfdd32d87a9001f2aef8303433a8d)

* Automatic Changelog Update (#1828)

(cherry picked from commit 365dd4353a06854120e0a38ff05f193bad48bbc7)

* Shadowkin Age Fixes & Plus Plushies (#1684)

# Description

Shadowkin middle-aged increased to 80, old age lowered to 175, max age
lowered to 250. Shadowkin can now collect their goofy little plushie
from a variety of sources

---

# TODO

- [x] Adjust Shadowkin age brackets
- [x] Add Shadowkin plushie to crates and stuff

---

# Changelog

🆑 ShirouAjisai
- add: Added Shadowkin plushie to crates and stuff
- tweak: Tweaked Shadowkin age brackets

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new "shadowkin plushie" loadout item, enhancing
customization options.
- Expanded the collectible pool by adding a new plushie available in
multiple game areas, including reward systems and random spawners.
- Enhanced the variety of items available for the `PresentRandom` entity
with the addition of the "shadowkin plushie."

- **Adjustments**
- Refined life-stage parameters for the Shadowkin species, adjusting age
thresholds to better define maturity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: SixplyDev <einlichen@gmail.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: ShirouAjisai <zaneromeave319@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit fb3d00036f6a21d7fa3c4b41341cd61b1e41e0d0)

* Automatic Changelog Update (#1684)

(cherry picked from commit caf8572352d38f51b15d21f0e1f92434f869dd14)

* Trait Add Tag (#1846)

# Description

Added TraitAddTag Function, which for example can be used to add
Spidercraft to the Spinerette trait.

# Changelog

🆑
- add: TraitAddTag Function

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Entities now receive automatic tag assignments at spawn, enhancing the
system's trait interaction and overall categorization capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit b1acdc4017dc1181b7f557351e82ef1df93635c2)

* Automatic Changelog Update (#1846)

(cherry picked from commit 9622d443d5308eda14231c3b3bb3130884465272)

* Arachne SpiderCrafting (#1847)

# Description

Added SpiderCraft Tag to Arachne

# Changelog

🆑
- add: Added SpiderCraft to Arachne

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new "SpiderCraft" classification for the Urist McArachne
entity, expanding its behavior and interactions related to
spider-specific mechanisms.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit ff4146f879d397993eee22a2a4807e986e404641)

* Automatic Changelog Update (#1847)

(cherry picked from commit 91d40483c2c49f86d7b2609a5ac9cd7b30d16c00)

* Add Centcom Disabler (#1845)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

it self recharges a bit. It's also green. It's also a steal target,
because it's green.

I noticed the Nanotrasen Representative has a disabler in his locker by
default, but does not get to pick one in a loadout. I figured I'd remedy
this, by giving him a shiny green Disabler that slightly recharges on
its own.

It deals the same stamina damage as the normal Disabler. The only
differences are:
- Green
- Steal Target
- Slightly higher rate of fire
- Slightly recharges itself (half as slow as the antique pistol)
- Admits Centcom doesn't trust you with lethals in its description

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/e1e36ae6-8888-4d60-b946-50c90af16f9f)

![image](https://github.com/user-attachments/assets/887aa64f-53cd-4e91-bea5-23f83243bfbc)

https://github.com/user-attachments/assets/f7eaff3d-b8b9-4954-9688-fb9ef0d04588

![image](https://github.com/user-attachments/assets/15dcb85c-7675-4477-bda3-c790e26aebd6)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Added CentCom disabler as loadout option for the Nanotrasen
Representative.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Expanded loadout options for the Nanotrasen Representative role with a
dedicated weapon configuration.
- Introduced the "CentCom disabler," a new self-defense weapon option
with advanced features.
- Updated localization entries to reflect the new representative weapon
grouping.
- Added a new steal target group for the Nanotrasen representative's
weapon.
- Enhanced visual assets with updated animations and states for the new
weapon.
- Introduced new objectives related to the Nanotrasen Representative
role, enhancing gameplay experiences.
	- Added the "Nanotrasen Representative" job title to localization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit 143d24951a200ab94f3e4e88d3a3a90eeb8856ca)

* Automatic Changelog Update (#1845)

(cherry picked from commit 7ca0757334ee9a1d87c9cbf1f9cc02a860ecc136)

* Plant Analyzer Port (#1849)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Ported directly from
https://github.com/Goob-Station/Goob-Station/pull/1685
I tweaked the sprite, and changed its usage of a Papersystem. I can't
speak for the code quality, since I didn't write it, but I'm willing to
fix things so long as I have the capability to do so.

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/18e93d53-9537-49fd-9dfb-b4983d2630f0)

![image](https://github.com/user-attachments/assets/91ceaaca-7441-4afc-be2e-489b00c320d4)

![image](https://github.com/user-attachments/assets/e03cc8b6-6b07-449b-918f-2eb7783dcfac)

https://github.com/user-attachments/assets/0189567a-57ca-4e9d-ba0d-74e622e1d30d

https://github.com/user-attachments/assets/25ea6100-1458-4804-98e4-5f70b6bfcd45

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Port Plant Analyzer from botanySupremacist, who took it from
ian321

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a comprehensive plant analyzer interface that displays
detailed plant health, tray data, and environmental conditions.
- Added an in-game report printing feature for easy access to analysis
results.

- **Enhancements**
  - Refined yield calculations and plant metabolism behaviors.
- Integrated the analyzer item into crafting recipes, vending machines,
and locker inventories.
- Expanded localization for clearer, user-friendly plant analysis
information.
  - Added new localization strings for printer status feedback.
- Introduced new classes and messages for improved data handling and
user interaction within the plant analyzer system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Timfa <timfalken@hotmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit 47a55408ad92af463159dea3325edd0c9c9611ce)

* Automatic Changelog Update (#1849)

(cherry picked from commit 4da1efdfd293d5df1c8bd889c621eea94ed5fed8)

* Mind Role Entities (#31318)

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh

(cherry picked from commit 24fae223e698b09cf9928c4a0f2f1dc774f266ab)

* Fix error

(cherry picked from commit d33bf89a62ae2f5d51f3af01b4ae2ef54341b5c5)

* Update SharedContentIoC.cs

(cherry picked from commit a50fed2fee56b57d0507a58ebf7bc13de82ad9d2)

* dragon antag refactor (#28217)

* remove dragon system usage of GenericAntag

* add AntagRandomSpawn for making antags spawn at a random tile

* add AntagSpawner to make an antag spawner just spawn an entity

* add antag prototype for dragon since it never had one

* make dragon spawner a GhostRoleAntagSpawner, remove GenericAntag

* make dragon rule use AntagSelection and stuff

* remove dragon GenericAntag rule

* add back to spawn menu

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit c0a56377bc5b9563de973d04f92d7d6923ca9145)

* Cultist Mind Roles

(cherry picked from commit 585e26103a67cc2bd185faaa468ddc5840a8e9c3)

* Update midround.yml

(cherry picked from commit b78d24ce6bb7f8cb4a85a89f6f974fbce1d83055)

* Update ghost_roles.yml

(cherry picked from commit 22df7509b5c5113afc8f1ba168223b0756de5d47)

* Solarian Alliance Content (#1851)

# Description

This PR acts as a proper introduction to players for the Sol Aliance
faction, a major antagonist group from my old home server's lore. To do
so, I've ported a large number of assets from Aurora.3 to this repo, as
well as created a new Midround Antagonist called "Deserters", which
shows off this group to players.

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/c57f48d7-ecf9-4099-998f-4ea3e3e95008)

![image](https://github.com/user-attachments/assets/b0fcd092-4072-4c2f-a61d-9118bc1ab140)

![image](https://github.com/user-attachments/assets/9fc2049f-1197-4eb8-93ea-7c2be2531085)

</p>
</details>

# Changelog

🆑
- add: A new Midround Antagonist has been added to the game. The
"Solarian Deserters" are a group of highly trained soldiers who haven't
been paid for far too long, whom have come to the station to loot it for
everything valuable.
- add: Lore guidebook entry for the Solarian Alliance, a majorly
antagonistic faction.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced the "Solarian Navy Deserter" role with detailed
localization, objectives, and traits.
- Launched a dynamic shuttle event featuring interactive elements like
secure doors, turret defenses, and specialized equipment.
- Expanded gameplay with new storage options, tactical helmets,
uniforms, identification cards, and door access tailored for the Sol
Alliance.
- Added a new NPC faction and game events enhancing combat and role-play
dynamics.
- Introduced various clothing items and uniforms associated with the Sol
Alliance, including tactical gear and dress uniforms.
- Added new metadata and structured entries for various clothing and
equipment assets.

- **Documentation**
- Enriched lore and guidebook entries with expanded nation details,
emphasizing the Solarian Alliance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit 6d919038f3845bb4008a17e1d068196779162f4a)

* Automatic Changelog Update (#1851)

(cherry picked from commit ffaf99ca4b01e63f6bb98731e630f066fad25909)

* Supermatter Atmos Mapping Assets (#1859)

# Description

This adds "High Flow" variants of all existing atmos devices, which are
useful for supermatter engines. I also added the ability for
FixAtmosMarkers to optionally accept a gas mixture directly, as opposed
to the stupid hardcoded gas mixes that they were limited to using
previously.

# Changelog

🆑
- add: Added high pressure variants of atmos devices intended for
supermatter engines.
- add: Added engineering locked high security doors, also for use in
supermatter engines.
- add: Fix Atmos markers can now accept a gas mixture directly for
modifying their tile.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced atmospheric commands now dynamically use specific gas
mixtures for more flexible performance.
- Introduced a new supermatter coolant entity, offering an alternative
liquid nitrogen-like option.
- Added several high-pressure and high-flow gas components, including
pumps, filters, mixers, vents, and injectors.
- Updated map elements by refining door access prototypes and labels for
improved in-game clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit b9c3c8b366c15b5f09cfd641c90b09254f06de94)

* Automatic Changelog Update (#1859)

(cherry picked from commit 468a263863f17772e6233032e5099d6c83764616)

* Rerotate Arena (#1853)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Rerotates Arena. Adds an AI satellite, and maps a few station maps,
cameras, and psionic registry computers.
Adds myself as the maintainer for it. Do note that I am still learning
how to map. Please state any changes that is wished to be seen before it
is ready to merge.
It is 3AM, I need sleep.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Space cleanup
- [x] Psionic Registry Computers
- [x] AI Satellite & Related Stuff

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![Arena](https://github.com/user-attachments/assets/883ce04f-70c4-4628-8b2c-2ad75439421a)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Arena is back

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- The Arena map is now reactivated with updated configurations and
active maintenance.
- Enhanced gameplay details and role assignments have been enabled for a
more engaging experience.
- The configuration for the Arena map has been fully activated,
including various roles and attributes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit 534a058eb489ceb4abaadac7e4943ed2baaa8c67)

* Automatic Changelog Update (#1853)

(cherry picked from commit 3b30c0a1fe8dc5e10c3cb0536e26d101893663a2)

* Port Grab Intent From Goob (#1856)

# Description
After months, Grab intent is finally ported to EE, as a result of a 4
hour Adderall induced code binge.

##  This PR is more shit than code.
Required for CQC, an attempt to port that will come later.
@Erisfiregamer1 requires this for
[Changelings](https://github.com/Simple-Station/Einstein-Engines/pull/1855).

Thanks to Gus for the Goobstation pr, and to Spatison for the original
port on WWDP
Tests on my local repo worked.
# TODO
* [ ]  Await review
* [ ]  pain

# Media

![dqt2naw4ox651](https://github.com/user-attachments/assets/9a97cea7-d2c8-47df-85e1-de243409bbe6)
# Changelog
🆑 Eagle

* add: Ported Grab Intent from Goobstation

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced pulling and grabbing interactions now feature multiple stages
that impact how actions and collisions feel.
- Virtual item handling during throws and drops has been refined for
more dynamic in-game outcomes.
- Alert visuals have been updated to provide nuanced feedback depending
on the intensity of pulls and grabs.
- Player movement and breathing mechanics have been fine-tuned for more
realistic behavior.
- New localization strings deliver clearer, context-sensitive
notifications for grab-related actions.
- Introduced a new component and system for managing entities thrown
while grabbed, including damage handling and visual effects.
- New event classes enhance interaction handling for virtual items
during grabbing actions.

- **Bug Fixes**
- Improved logic for stopping pull actions to ignore grab states when
necessary.

- **Chores**
- Added metadata for new textures related to alerts in the user
interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit 18722e86f3190632026127af111dcc0d10d4af49)

* Automatic Changelog Update (#1856)

(cherry picked from commit 309ab74013fed2be64d9fb0457631210d860644b)

* Port Role Types (#1860)

Ports https://github.com/space-wizards/space-station-14/pull/33420

This is the last requirement before we can start mass-porting new
antags.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced role displays in player and character interfaces with a new
"Role Type" column.
  - Updated admin overlay options, including a classic antagonist label.
- Expanded ghost role behaviors for various entities, offering more
dynamic gameplay.
- New localization entries for role types and UI settings for sounds and
layout customization.
- Added new mind roles and role types, improving role management and
gameplay interactions.
- Introduced new events for player spawning processes to enhance
gameplay scenarios.

- **Refactor**
- Streamlined role management and update processes for improved
reliability and performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
(cherry picked from commit e10c51cdb39845ed1f2bb9b08f0b226cefbd402e)

* Rock And Stone

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Ports Lavaland and required systems from Goobstation.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [X] Port over _Lavaland
- [x] Port over required codepatches
- [-] Test locally (Should be fine)
- [X] Pass tests

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![No](https://github.com/user-attachments/assets/cfede61a-80c9-4ecd-9473-5170d080ac34)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Lavaland has been ported!

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a dynamic mining voucher interface allowing players to
redeem various mining kits.
- Enhanced shuttle docking systems with an updated console interface for
smoother FTL transitions.
- Added immersive boss music management for enhanced in-game boss
encounters.
- Expanded Lavaland gameplay with new procedural map generation, weather
events, and storm scheduling.
- Integrated new interactive commands and UI improvements for advanced
weapon upgrades, Hierophant boss actions, and research features.
- Added new components and systems for managing various gameplay
elements, including damage squares, tendrils, and block charges.
- Implemented new localization entries for improved player experience
across various game features.
- Introduced new components for managing mining vendors and vouchers,
enhancing the interaction with mining kits.
- Added a new system for managing the deployment of shelter capsules in
the Lavaland environment.

- **Tests**
- Added integration tests to validate Lavaland planet generation and map
initialization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit f2f5d4610db795a124b37780230eec5d5ca0264a)

* Automatic Changelog Update (#1844)

(cherry picked from commit 990878b9ed60b4e22388038b63714ec2dc693bbf)

* fixs

* fix

* fuck

---------

Co-authored-by: Tonk-GCR <190437025+Tonk-GCR@users.noreply.github.com>
Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: Raikyr0 <kurohana@hotmail.com.au>
Co-authored-by: SixplyDev <einlichen@gmail.com>
Co-authored-by: Timfa <timfalken@hotmail.com>
Co-authored-by: Errant <35878406+errant-4@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: astriloqua <129308840+astriloqua@users.noreply.github.com>
Co-authored-by: Eagle-0 <114363363+Eagle-0@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
2025-03-03 18:02:48 +02:00
RedFoxIV
6d4215b08d dollar store spookston (#258)
* initial sidestream port

* ru locale

* blyatison

* упс

* jannie qol (#6)

* initial sidestream port

* blyadison

* cs1.4 (#4)

* initial sidestream port
* blyatison

* antitryaska (#7)

* initial sidestream port (still fucked though)

* blyatison

* o fugg (#8) speedmerge

* o fugg

* fugg :-DDD

* attempt numero uno (#9)

* fix desword sound (#10)

* раз уж я тут сижу

* whoops

* shit

---------

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-03-03 14:29:21 +02:00
vanx
ff18644fc5 [Remove+Add] Remove Rubber Bullets, Replace Them With Sec Utility Instead (#261)
* remove rubber

* beanbags now knockdown

* riot grenade launcher

* no drop on knockdown

* no flash on stinger

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-03-03 14:28:57 +02:00
vanx
78e50c80b3 [Add] Melee Visuals (#264)
* I think it just works

* prototypes

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-03-03 14:28:24 +02:00
sleepyyapril
3330acd9f2 Revert ""Proper" "Softcrit" "Support" (#1545)" (#1741)
traits need to be updated with new "params"

@RedFoxIV

(cherry picked from commit d62392b2fe2c3e651ad1f8492bbceef6dad5138e)
2025-02-15 00:15:22 +03:00
RedFoxIV
daf4f66414 "Proper" "Softcrit" "Support" (#1545)
# Description

Implements the softcrit functionality.
Similiar to critical state but spessmen will be able to communicate and
crawl around, but not pick up items.
Also supports configuring what is and isn't allowed in different
MobStates (per mob prototype): you can enable picking up items while in
softcrit so people can pick up their lasgun and continue shooting after
taking a 40x46mm to their ass cheeks from the guest nukies while being
dragged to safety.

![escape-from-tarkov-raid](https://github.com/user-attachments/assets/7f31702d-5677-4daf-a13d-8a9525fd3f9f)

<details> <summary><h1>Technical details</h1></summary>
New prototype type: "mobStateParams" (`MobStateParametersPrototype`)
Used to specify what can and can't be done when in a certain mobstate.
Of note that they are not actually bound to any `MobState` by
themselves. To assign a params prototype to a mobstate, use
`InitMobStateParams` in `MobStateComponent`.
It has to be a prototype because if I just did something akin to
`Dictionary<MobState, Dictionary<string, bool>>`, you'd have to check
the parent and copy every flag besides the one you wish to modify. That
is, if I understand how the prototype system works correctly, which I
frankly doubt. <!-- Working on softcrit made me hate prototypes. -->

MobStateComponent now has:
- `Dictionary<string, string> InitMobStateParams`, for storing "mobstate
- parameter prototype" pairs. `<string, string>` because it has to be
editable via mob prototypes. Named "mobStateParams" for mob prototypes.
- `public Dictionary<MobState, MobStateParametersPrototype>
MobStateParams` for actually storing the params for each state
- `public Dictionary<MobState, MobStateParametersOverride>
MobStateParamsOverrides` for storing overrides.
`MobStateParametersOverride` is a struct which mirrors all
`MobStateParametersPrototype`'s fields, except they're all nullable.
This is meant for code which wants to temporarily override some setting,
like a spell which allows dead people to talk. This is not the best
solution, but it should do at first. A better option would be tracking
each change separately, instead of hoping different systems overriding
the same flag will play nicely with eachother.
- a shitton of getter methods

TraitModifyMobState now has:
- `public Dictionary<string, string> Params` to specify a new prototype
to use.
- Important note: All values of `MobStateParametersPrototype` are
nullable, which is a hack to support `TraitModifyMobState`. This trait
takes one `MobStateParametersPrototype` per mobstate and applies all of
its non-null values. This way, a params prototype can be created which
will only have `pointing: true` and the trait can apply it (e.g. to
critstate, so we can spam pointing while dying like it's a game of turbo
dota)
- The above is why that wall of getters exists: They check the relevant
override struct, then the relevant prototype. If both are null, they
default to false (0f for floats.) The only exception is
OxyDamageOverlay, because it's used both for oxy damage overlay (if
null) and as a vision-limiting black void in crit..

MobStateSystem now has:
- a bunch of new "IsSomething"/"CanDoSomething" methods to check the
various flags, alongside rewritten old ones.
-
![image](https://github.com/user-attachments/assets/33a6b296-c12c-4311-9abe-90ca4288e871)
lookin ahh predicate factory

</details>
---

# TODO

done:
- [x] Make proper use of `MobStateSystem.IsIncapacitated()`.
done: some checks were changed, some left as they did what was (more or
less) intended.
<details>Previous `IsIncapacitated()` implementation simply checked if
person was in crit or dead. Now there is a `IsIncapacitated` flag in the
parameters, but it's heavily underutilized. I may need some help on this
one, since I don't know where would be a good place to check for it and
I absolutely will not just scour the entire build in search for them.
</details>

- [x] Separate force-dropping items from being downed
done: dropItemsOnEntering bool field. If true, will drop items upon
entering linked mobstate.
- [x] Don't drop items if `ForceDown` is true but `PickingUp` is also
true.
done: dropItemsOnEntering bool field. If true, will drop items upon
entering linked mobstate.
- [x] Actually check what are "conscious attempts" are used for
done: whether or not mob is conscious. Renamed the bool field
accordingly.
- [x] Look into adding a way to make people choke "slowly" in softcrit
as opposed to choking at "regular speed" in crit. Make that into a param
option? Make that into a float so the speed can be finetuned?
done: `BreathingMultiplier` float field added.
<details>
1f is regular breathing, 0.25 is "quarter-breathing". Air taken is
multiplied by `BreathingMultiplier` and suffocation damage taken (that
is dealt by RespiratorSystem, not all oxy damage) is multiplied by
`1-BreathingMultiplier`.
</details>

- [x] make sure the serializer actually does its job
done: it doesn't. Removed.
- [x] Make an option to prohibit using radio headsets while in softcrit
done: Requires Incapacitated parameter to be false to be able to use
headset radio.
- [x] Make sure it at least compiles

not done:
- [ ] probably move some other stuff to Params if it makes sense. Same
thing as with `IsIncapacitated` though: I kinda don't want to, at least
for now.

---

<details><summary><h1>No media</h1></summary>
<p>

:p

</p>
</details>

---

# Changelog

🆑
- add: Soft critical state. Crawl to safety, or to your doom - whatever
is closer.

---------

Signed-off-by: RedFoxIV <38788538+RedFoxIV@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit 9a357c1774f1a783844a07b5414f504ca574d84c)
2025-02-15 00:12:50 +03:00
sleepyyapril
67fcc08a5c Fix Gun Contests (#1638)
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit 46c8540aa4beb3519de25fbb50d7061ef6811791)
2025-01-23 08:06:30 +03:00
Skubman
8760623add Fix Mining Drills & Reduce Stamina Cost (#1579)
# Description

Fixes the attack values of mining weapons which were messed up in the
Wizmerge.

For the pickaxe, I reverted all damage values to be the same as before.
For the mining drill however, I opted to keep the rapid fire rate
because it was an interesting effect and just added the extra range from
pre-wizmerge and the throwing damage back. I also **greatly reduced the
mining drill's stamina cost** because it was a common complaint among
players.

Before the wizmerge, the mining weapons (pickaxe and drill) were in
`Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml` but
they got moved to
`Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml` and
thus the EE-specific changes got wiped.

Also fixes a subtle bug in `SharedMeleeWeaponSystem.OnMeleeSelected`,
responsible for resetting the cooldown of a melee weapon upon selecting
it, that treated attack rate as attacks per second as opposed to seconds
per attack :
```diff
    private void OnMeleeSelected(EntityUid uid, MeleeWeaponComponent component, HandSelectedEvent args)
    {
        ...
-       var minimum = curTime + TimeSpan.FromSeconds(1 / attackRate);
+       var minimum = curTime + TimeSpan.FromSeconds(GetAttackRate(uid, args.User, component));

        if (minimum < component.NextAttack)
            return;
        component.NextAttack = minimum;
        DirtyField(uid, component, nameof(MeleeWeaponComponent.NextAttack));
    }
```

Bug above was particularly noticeable for weapons with a very fast
attack rate like the mining drill and north stars, which caused the
`NextAttack` delay on select to be 4 seconds instead of 0.25 seconds.

Another subtle issue, the Goliath's attack rate field was `0.75` but the
field was set from Wizden and means attacks per second, not seconds per
attack so I changed it `1.33`.

## Media

**Pickaxe**
<img width=300px
src="https://github.com/user-attachments/assets/8bf1290e-6506-4ac8-9b8b-2bb23a2013b6">

**Mining Drill**
<img width=300px
src="https://github.com/user-attachments/assets/2f852a29-7b58-4e33-8264-67bab87254fd">

**Diamond Tipped Mining Drill**
<img width=300px
src="https://github.com/user-attachments/assets/750fa019-17dc-4d21-900c-88526c873771">

**Mining with Mining Drill**

https://github.com/user-attachments/assets/a9822ccb-c991-4341-a076-fd89a8689e0c

## Changelog

🆑 Skubman
- fix: The mining drill now has a fast fire rate and extra range again.
- fix: The pickaxe and the mining drill can now be used as throwing
weapons again.
- fix: Fixed a bug where selecting weapons with a fast attack rate took
a few seconds before you could attack with them.
- fix: Fixed the Goliath attacking too fast.
- tweak: The power attack stamina cost of mining drills has been reduced
to 0.7 stamina.
- tweak: Re-adjusted the damage of the pickaxe.

(cherry picked from commit 64c11963c6db0b6ea7c7bb576903c777d57b4256)
2025-01-20 21:03:53 +03:00
metalgearsloth
b502bdf35c Station AI (#30944)
* Station AI overlay

* implement

* Bunch of ports

* Fix a heap of bugs and basic scouting

* helldivers

* Shuffle interactions a bit

* navmap stuff

* Revert "navmap stuff"

This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.

* AI wires implemented

* Fix examines

* Optimise the overlay significantly

* Back to old static

* BUI radial working

* lots of work

* Saving work

* thanks fork

* alright

* pc

* AI upload console

* AI upload

* stuff

* Fix copy-paste shitcode

* AI actions

* navmap work

* Fixes

* first impressions

* a

* reh

* Revert "navmap work"

This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.

* OD

* radar

* weh

* Fix examines

* scoop mine eyes

* fixes

* reh

* Optimise

* Final round of optimisations

* Fixes

* fixes

(cherry picked from commit d8ae58efa903749314e334278c1a47c0fddd2b16)
2025-01-14 02:01:43 +03:00
Skubman
a665f310a9 Throwing Mini-Update 1 (#1434)
# Description

Bug fixes:

- Re-enable damage examine for embeddable passive damage after the
Wizmerge for Station AI wiped it
(https://github.com/Simple-Station/Einstein-Engines/pull/1351)
- Fixed a bug where emags did not have embed passive damage (due to
`DamageOtherOnHitStartupEvent` only raising when `MeleeWeaponComponent`
exists on the entity)

Tweaks:

- Added a stamina cost to spears, 6 stamina, and removed spears dealing
damage to itself when thrown
- Floor tiles will now break when thrown 10 times instead of 4 times
- Added the MetalThud sound effect for structures when thrown, and
increased the base thrown damage of structures slightly from 8 to 9

Damage examine is now sorted properly. From top to bottom:
- Gun damage
- Melee weapon damage
- Throwing weapon damage
- Embed passive damage

## Media

**Laser rifle sorted damage examine**

![image](https://github.com/user-attachments/assets/6fe2a47b-b354-415a-8835-8f0e33c6da00)

**Spear sorted damage examine**

![image](https://github.com/user-attachments/assets/0c93c125-08ce-4e5b-9af9-5c5ceddcd3b1)

**Emag stats**

![image](https://github.com/user-attachments/assets/ac9b1073-b209-4a44-badf-8f8ec9f8514a)

## Changelog

🆑 Skubman
- fix: Fixed embeddable damage over time not showing when examining an
item's damage values.
- fix: Fixed the emag not dealing passive damage when embedded on a
target.
- tweak: Examining an item's damage values now shows values in a sorted
order. From top to bottom: gun damage, melee damage, throwing damage,
embedded damage.
- tweak: Spears now have a 6 stamina cost when thrown, and they no
longer break when thrown enough times.
- tweak: Floor tiles now break when thrown 10 times instead of 4 times.
- tweak: Closets, lockers and crates now play the proper sound effect
when thrown (by Space Wind).

(cherry picked from commit 6c70875882cb9435a6172ef103660e0fcf1d27fd)
2025-01-14 01:26:24 +03:00
VMSolidus
f25c7f4181 Lamia & Segmented Entity System (#11)
## About the PR
This is a draft PR for an upcoming new playable species, the Lamia.
Lamia are an older species from the 2022 era of Nyanotrasen, and were
previously abandoned code that was dropped from the game on October
13th, 2022. I was able to locate what I believe to be the last remaining
branch containing Lamia, from a defunct server repository that ran an
October 12th, 2022 build of Nyanotrasen. Thus I began a project to
refurbish this code for use on modern SS14.

The Lamia I wish to PR are only recognizable from the original Lamia in
that they share the Tail Segment System. That is, they prominently
feature a completely unique mechanic whereby their body is composed of
multiple entities linked together in a chain. The original version of
this code had a great many bugs related to the game's physics system,
and it was severely limited by the Robust Toolbox engine at the time. In
the year since Lamia's abandonment, Robust Toolbox has gone through many
iterations and improvements, and has deprecated large parts of the
physics system that old Lamia utilized.

## Redesigns from the original 2022 Lamia, AKA Nyanotrasen Lamia. Vs.
DeltaV Lamia
The original Nyanotrasen Lamia were made with several limitations in
mind. Their size was heavily restricted by the physics engine at the
time, we aren't beholden to that same limitation anymore. Thus DeltaV
Lamia are vastly larger than the Nyanotrasen Lamia, featuring a tail
that is 5 tiles in length, with fully functional physics collisions.
They were also not able to wear Hardsuits due to limitations of the
SpriteComponent, and thus were instead designed around having a
"Barotrauma resistance". On DeltaV code, we can arbitrarily state that
species use different optional sprites for items, therefore its possible
to have for example a Nukie Hardsuit, with its equipped-outerwear state,
equipped-outerwear-lamia, equipped-outerwear-lamiainitialsegment,
equipped-outerwear-lamiasegment, and so on. The Lamia Segments can
simply state that if they equip a hardsuit, they utilize the
-lamiasegment sprite option. Therefore its no longer necessary to create
an entire new item solely so that snakes can wear a hardsuit.

**Positive Traits**
- Extreme Size. Lamia are 5 tiles long, and weigh as much as a car. They
make a mockery of mass contests, and they can push physics objects
around simply by slithering into them.
- Significantly larger health bar. A Lamia is put into critical
condition at 200 damage, and dies at 300 damage. This is offset by the
Lamia having a certain percentage of damage taken by the tail
transferred to the main body.
- High resistance to forced movement. Space Wind at standard pressure
cannot move them.
- Unusual hybrid damage melee via their Hypo-Fangs. Lamia bite attacks
deal 1 point of armor piercing, 2 points of poison, 2 points of
asphyxiation, and inject 3u of Space Drugs. Planned traitor items exist
that add a fillable chemical reservoir that they can inject into people
with their attacks.

**Negative Traits**
- Extreme Size. Lamia are literally the size of a, "Broad side of a
barn". A blind person could throw a rock, and still hit the Lamia. By
extension its essentially impossible for a Lamia to evade attacks. Yea
you can take hits, but you're also going to *take* hits. All of them.
- Paramedics WORST ENEMY. Since they weigh as much as a car, even Oni
struggle to drag them. Even a rollerbed only slightly helps drag a Lamia
around.
- Vulnerability to AOE damage. An explosion that simultaneously strikes
a Lamia's entire tail, plus their body, will deal double damage.
- Cannot wear shoes. Although not being able to wear magboots is also
offset to their natural high resistance to space wind.
- Extreme size also means Lamia are functionally uncloneable. They
require 770 units of Biomass, the equivalent of 5.5 Onis, in order to be
cloned.

## Why / Balance
This PR is part of an ongoing project to add exciting new content to the
DeltaV repository, with a focus on keeping the theme of "Monster People"
species, per request by admins.

## Technical details
The code regarding Tail Segments is actually unfinished, and still needs
significant overhauling before this PR can be undrafted. Here's a few
concerns:

- [x] Implement "Marking Parity"
- [x] Make/Commission/Request new markings for the Lamia and her tail
segments
- [x] Implement "Hardsuit Appearance Parity"
- [x] ServerLamiaSystem now utilizes new physics engine options.
- [x] "We need to be able to spawn 80 Lamias without slowing down the
server -Debug", this is a hard requirement. Having 32 tail segments is
not required. I would prefer that we have 32 tail segments, but if we
optimize their code for performance and still find out we aren't meeting
the 80 Lamia hard requirement, I am willing to reduce them to as low as
16 to 20 segments.
- [x] Implement Wizden's upcoming "Shoot Over Corpses unless they're
targetted" for Lamia Tails.
- [x] Reimplement the mechanic for Segments sharing their healthbar with
the Lamia.
- [x] Possibly make it so that Lamia can only wear Jumpskirts? I'd want
to outright get rid of the layer mask if possible.

## Non-Technical TODO list
These are all the TODO's that don't necessarily involve C#, and
primarily live in the YAML side of things.

- [x] Implement marking customization for Lamia. They should have
marking variations for More/Less humanlike versions. Such as a Snake
Head(We can re-use the Lizard snake head), Medusa Head, changing how far
up the scales go, and if the Lamia has human skin or full scales. I'd
like to have tail pattern variations that can be set in the character
customization, but that is also pending the VisualizerSystem for tail
segments.
- [x] Make their hardsuit variants. Not actually difficult, just takes
some time.
- [x] Finely tune their numerical values. Basically nothing on the YAML
side of things is final, and is subject to change pending beta feedback
and/or testing.

## Media

![spacenoodle](https://github.com/DeltaV-Station/Delta-v/assets/16548818/a97de084-5fd3-4b27-b8ea-69786d1dbdcc)

One of the downsides of having extreme mass.

![image](https://github.com/DeltaV-Station/Delta-v/assets/16548818/840f694a-8898-4ada-b5dd-df7f2fc1299e)

Working Collision physics:
![Noodle
movement](https://github.com/DeltaV-Station/Delta-v/assets/16548818/70ccebcc-5446-4bda-9bb5-40edc65f55f6)

Finalized version of the damage system, also featuring significant
improvements to the tail systems.
![damage
system](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/42918aab-f40d-4da2-bfc2-c70055facee0)

**Changelog**

🆑 VMSolidus, @Elijahrane, and @noctyrnal
- add: Lamia have been added to the game as a new playable species! They
are currently extremely buggy, and so are by default disabled as a
roundstart species. To enable them for (Buggy) playtesting, go to
/Species/lamia.yml, and set roundstart to true.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Rane <60792108+Elijahrane@users.noreply.github.com>
Co-authored-by: Aiden <aiden@djkraz.com>

(cherry picked from commit 1e356fbb38120a850fe5abc8a9ecef57f8c049f1)
2025-01-14 01:02:39 +03:00