Commit Graph

59 Commits

Author SHA1 Message Date
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
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
sleepyyapril
885ee5a831 Wizmerge for Station AI (#1351)
<!--
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

the adding AI is now up to y'all because i'm not touching loadout code
for name datasets, but it shouldn't be too bad from here

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Signed-off-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: ravage <142820619+ravage123321@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Intoxicating-Innocence <188202277+Intoxicating-Innocence@users.noreply.github.com>
Co-authored-by: Saphire <lattice@saphi.re>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: CaasGit <87243814+CaasGit@users.noreply.github.com>
Co-authored-by: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: NakataRin <45946146+NakataRin@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Doomsdrayk <robotdoughnut@comcast.net>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: TGRCDev <tgrc@tgrc.dev>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: chavonadelal <156101927+chavonadelal@users.noreply.github.com>
Co-authored-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: ArchRBX <5040911+ArchRBX@users.noreply.github.com>
Co-authored-by: archrbx <punk.gear5260@fastmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: neuPanda <chriseparton@gmail.com>
Co-authored-by: neuPanda <spainman0@yahoo.com>
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: Whatstone <whatston3@gmail.com>
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>

(cherry picked from commit 93ed70acfeda357133a701f637d3faeec02749bb)
2025-01-14 00:13:42 +03:00
Spatison
a2557f75a6 Upstream (#129) 2024-11-21 17:49:04 +07:00
Spatison
266ae606de [Port] Crossbow / Арбалет (#76)
* add: crossbar

* add: crossbar

* add: crossbow

* clean up

* AI rewie

* fix

* fix

* fix :(

* Update tags.yml

* fix
2024-10-26 16:41:08 +07:00
Spatison
d5d5278999 [Port/Tweak] Eshield / Е-Щит (#94)
* tweak: eshield

* add: energy shield

* fix
2024-10-23 17:23:44 +07:00
DEATHB4DEFEAT
47b10a01b0 Catch-Up Cherry Pick 2 (#944)
# Description

Picked 400 commits (and skipped many, many more) from WizDen since #540.
Stopped at commit 332f54a3aebe669f6e50d26e7b047f0bdc28e0fb (Lobby
Refactor).

---

# TODO

- [x] Pick
- [x] Compile
- [x] Fix runtime errors
- [ ] Fix up humanoid profile editor
- [ ] Test everything

---

# Changelog

🆑
- add: Merged 400 WizDen PRs. Happy testing!

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Magnus Larsen <i.am.larsenml@gmail.com>
Co-authored-by: Hanz <41141796+Hanzdegloker@users.noreply.github.com>
Co-authored-by: Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
Co-authored-by: potato1234_x <79580518+potato1234x@users.noreply.github.com>
Co-authored-by: Gotimanga <127038462+Gotimanga@users.noreply.github.com>
Co-authored-by: Mangohydra <156087924+Mangohydra@users.noreply.github.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Morb <14136326+Morb0@users.noreply.github.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: KrasnoshchekovPavel <119816022+KrasnoshchekovPavel@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: KittenColony <149278380+KittenColony@users.noreply.github.com>
Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: T-Stalker <43253663+DogZeroX@users.noreply.github.com>
Co-authored-by: ERROR404 <100093430+ERORR404V1@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Jezithyr <jezithyr@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Ciac32 <aknoxlor@gmail.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: NotSoDana <75203942+NotSoDana@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: nao fujiwara <awkwarddryad@gmail.com>
Co-authored-by: Michael <107807667+Doc-Michael@users.noreply.github.com>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
Co-authored-by: Lamrr <96937466+Lamrr@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Jay <67732946+DuskyJay@users.noreply.github.com>
Co-authored-by: Just-a-Unity-Dev <67359748+Just-a-Unity-Dev@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Tyzemol <85772526+Tyzemol@users.noreply.github.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: RumiTiger <154005209+RumiTiger@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: exincore <me@exin.xyz>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Łukasz Mędrek <lukasz@lukaszm.xyz>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: TurboTracker <130304754+TurboTrackerss14@users.noreply.github.com>
Co-authored-by: OnsenCapy <101037138+LGRuthes@users.noreply.github.com>
Co-authored-by: pigeonpeas <147350443+pigeonpeas@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: Rio <110139251+Riolume@users.noreply.github.com>
Co-authored-by: vorkathbruh <152932728+vorkathbruh@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: PrPleGoo <PrPleGoo@users.noreply.github.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: username <113782077+whateverusername0@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Джексон Миссиссиппи <tripwiregamer@gmail.com>
Co-authored-by: Brandon Li <48413902+aspiringLich@users.noreply.github.com>
Co-authored-by: Jajsha <101492056+Zap527@users.noreply.github.com>
Co-authored-by: RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Geekyhobo <66805063+Geekyhobo@users.noreply.github.com>
Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
# Conflicts:
#	Content.Client/Input/ContentContexts.cs
#	Content.Client/Lobby/LobbyState.cs
#	Content.Client/Lobby/UI/HumanoidProfileEditor.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml.cs
#	Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs
#	Content.Client/UserInterface/Systems/MenuBar/Widgets/GameTopMenuBar.xaml
#	Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
#	Content.Server/GameTicking/GameTicker.Spawning.cs
#	Content.Shared/Alert/AlertType.cs
#	Content.Shared/Input/ContentKeyFunctions.cs
#	Content.Shared/Preferences/HumanoidCharacterProfile.cs
#	Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
#	Resources/ConfigPresets/EinsteinEngines/default.toml
#	Resources/Prototypes/Alerts/alerts.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
#	Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
#	Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml
#	Resources/Prototypes/Voice/speech_emotes.yml
#	Resources/keybinds.yml
2024-10-19 14:53:37 +07:00
Spatison
2ed017c842 [Port] Hristov / Христов | [Port] Manual Sending Of The Cartridge / Ручное Досылание Патрона (#58)
* tweak: hristov

* WD EDIT

* fix
2024-09-21 17:21:44 +07:00
DEATHB4DEFEAT
ec385000a3 Merge branch 'master' of https://github.com/Simple-Station/Einstein-Engines into wizden-mass-pick-1 2024-07-17 22:15:12 -07:00
VMSolidus
806dc0107b Mass Contests Remake (#480)
# Description

Part of Issue #467 

This is a complete re imagining of the Nyanotrasen Mass Contest
System(Long since removed from the game). This system adds a highly
flexible function that outputs a ratio of a given entity's mass, that is
optionally relative to another entity. I've primarily written this
system to be used in conjunction with PR #458 , as it adds several new
implementations of variable player mass to the game.

How this differs from the original Mass Contest system is that it is
configured via hotloaded CVars, and is inherently clamped so that
character mass only modifies functions by a finite amount rather than
providing infinite scaling. This essentially means that while an Oni is
25% better at shoving a Felinid to the floor thanks to their different
masses, a 2000kg Lamia is also only 25% better at shoving a Felinid to
the floor, rather than 50000% better. The inverse is also true, a small
player character can only be 25% better or worse at a given
implementation. These implementations are not handled directly by the
ContestSystem, and are instead handled directly by other systems that
call upon it.

This percentage limit can be modified by a new CVar at any time.
Additionally, the entire MassContest system can be optionally toggled
off completely at any time via CVar, without needing to modify any code
that calls upon it.

At this time, I have included three different implementations to serve
as suitable examples for how MassContest can be used.

1. Weapon recoil is now modified by an entity's mass relative to the
human average baseline. Smaller characters experience more recoil,
larger characters experience less recoil
2. Disarm/Shove is now modified by Mass Contests. Entities that are
sized differently from their target have their shove/disarm chance
modified based on the ratio of performer and target mass.
3. Certain types of handcuffs(such as Cablecuffs and zipties) are now
faster to slip out of if you are smaller than the average.

# Changelog

🆑
- add: Mass Contests have returned in a new reworked form. 
- add: Weapon Recoil is now resisted by character mass. More massive
characters take less recoil, less massive characters take more recoil.
- add: Disarm and Shove actions are now modified by relative character
mass. It is easier to shove people around if you're bigger than them.
- add: Cablecuffs and Zipties are now easier to escape out of if you're
smaller.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
2024-07-13 09:05:51 +01:00
Bixkitts
147e574d1f MeleeHitSoundSystem (#25005)
* Began work to unscrew melee noises

* finished

* cleanup

* cleanup

* Update Content.Server/Weapons/Melee/MeleeWeaponSystem.cs

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* _Style

* Fix merge

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-07-11 21:10:16 -07:00
VMSolidus
30fa1207b2 Update Submodule to 219.2.0 (#536)
Uses the following Cherry-Picks:
https://github.com/space-wizards/space-station-14/pull/26994
https://github.com/space-wizards/space-station-14/pull/26518
https://github.com/space-wizards/space-station-14/pull/26279
https://github.com/space-wizards/space-station-14/pull/24946
https://github.com/space-wizards/space-station-14/pull/27188

Requires:
https://github.com/Simple-Station/Einstein-Engines/pull/535
https://github.com/Simple-Station/Einstein-Engines/pull/534

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Jake Huxell <JakeHuxell@pm.me>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: DEATHB4DEFEAT <zachcaffee@outlook.com>
2024-07-11 17:40:02 -07:00
VMSolidus
40d411bbbc Cherrypick "Shoot Over Bodies" And Related PRs (#479)
# Description
This is a manual cherry-pick of the following PRs:
https://github.com/space-wizards/space-station-14/pull/27905
https://github.com/space-wizards/space-station-14/pull/28072
https://github.com/space-wizards/space-station-14/pull/28571

I REQUIRE these for my work in PR #11 , and cannot complete said PR
without these cherry-picks. This set of PRs from Wizden adds a feature
where entities can selectively opt-out of being shot at unless a player
intentionally targets them, which I can use as a simple and elegant
solution to one of the largest glaring issues for Segmented Entities. I
could simply give Lamia segments the new
RequireProjectileTargetComponent, which adds them to the system. Future
segmented entities such as the hypothetical "Heretic Worm" may or may
not use this feature, depending on their intended implementation.

---------

Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
2024-06-23 01:00:32 -04:00
Jessica M
f5a0ac1688 Makes clumsy not delete guns (#25243)
clumsy no longer deletes guns

Co-authored-by: Jessica M <jessica@maybe.sh>
(cherry picked from commit d0c24f9aff574e4f929dff66c7dac4c167e51fb5)
2024-02-18 23:11:19 +01:00
metalgearsloth
ac052e4666 Revert "Make flare gun explode, damage and stun the player when used … (#24679)
* Revert "Make flare gun explode, damage and stun the player when used with the wrong ammo (#22349)"

This reverts commit e301378114b245fa6927372f83c19868cb90b13c.

# Conflicts:
#	Content.Shared/Weapons/Ranged/Components/GunComponent.cs
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml

* Fix revert conflicts

* Update Content.Shared/Weapons/Ranged/Components/GunComponent.cs

(cherry picked from commit e1901aa6b602516f0f7cc3f29844c77e90c77977)
2024-02-08 11:52:32 +01:00
DrSmugleaf
5329280378 Add events for GunComponent values, muzzle flashes and cartridge spread (#24077)
* Add a modifier event for GunComponent values

* Add docs

* Add VV readwrite to modified values

* Add more docs

* More docs

* Add Gun parameter to GunRefreshModifiersEvent

* Add another event for handling cartridge spread

* Fix pneumatic speed

(cherry picked from commit 4e8b1fb0d3ef23c79ea3ca0cec05932de03601f5)
2024-02-08 11:52:29 +01:00
LordCarve
3dfd479199 DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.

(cherry picked from commit c77eb8691dc08d384a88ddaf3b734f7777d741b5)
2024-01-27 23:42:35 +01:00
Ed
145c2158ca Star Wars 14: Shuttle weapon update (#23644)
* setup codebase

* make auto-fire, but its broken

* collider problem

* fix rate, add toggle port

* add laser

* power cages

* ginormous cells

* fix inhand

* add pirate cannon

* salvage gun

* functional Nuke cannon

* rewrite to standart grenade

* fix naming, add emp sprite

* grenade cartridge

* thruster fix

* nuke cannon

* audio + visual polish

* balance tweak

* tweaks

* laser balance tweak: new Electronic damage modifier set, reduce structural cannon damage

* resprite energy cages, start implementing in game

* fix cage recharger craft

* add small laser gun

* fix colliders

* add  lasers and ptk to research and crafting

* finish implementing weapon to rnd and sec

* some fixes

* splitted grenades and cannon balls

* integrate new cannon balls

* tweaks stick

* move circuits to sectechfab, fix

* fix?

* add ability to E shoot, without signals

* fix!

* fix?!?! and naming tweak

* go!

* Lank fix

* oh

* mornings don't start with coffee.

* the morning starts with bug fixes.

* fucking bugs!

* finally

* it is now possible to craft projectiles separately from cartridges

* +2 fix

* refactor

* piu

* More weight

* add AutoShootGunComponent

* move autoshoot to partial

* SetEnabled()

* some fixes

* remove CanShootWithoutUser field

* remove null-checks ToCoordinates from AttemptShoot()

* war without reason

* return to home

* ?

* forgot remove it

* review

* Fix formatting and update path

---------

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

(cherry picked from commit a2d5d74b46060d330e5aa14e166692f32dcce7a9)
2024-01-27 23:40:06 +01:00
keronshb
0c8d256d71 Moves ShootProjectile to shared (#24007)
(cherry picked from commit 2375a6cd1d2edfe6692c4a0ad388d2a3f5a3ce01)
2024-01-26 22:34:26 +01:00
MendaxxDev
a908b24ba1 Make flare gun explode, damage and stun the player when used with the wrong ammo (#22349)
* Flare gun can now only be loaded with actual flares

* Make flare gun loadable with other shells, but destroy it and damage and stun the user when used

* tweak

* Logic fix + QOL add-ons

* damageOnWrongAmmo in gun component

* cleanup
2023-12-16 20:30:33 +01:00
DrSmugleaf
626ee38ecb Fix debug assert when shooting guns (#21070) 2023-10-20 15:30:20 +02:00
Leon Friedrich
549a7fe891 DamageableSystem cleanup & performance improvements (#20820) 2023-10-08 19:58:57 +02:00
Debug
fd2cc8570d Sync master up to 1/10 (#74)
* Automatic changelog update

* Make NPC names proper nouns & fix some genders (#20534)

* Proper names & genders

* Uppercase proper names

* Make Smile female

* fix bingus wrinkly head (#20531)

* rouny meat and steak (#20526)

* lost friendship flavor

* add rouny steak

* rouny special meat

* rouny meat textures

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Wearable Wet Floor Sign and 'Janitorial Suicide Vest' (#20311)

* Explosive wet floor sign & janitorial suicide vest

* fix attributions

* Remove name & desc from explosive wet floor sign

* Make wet floor sign chameleonable

* Automatic changelog update

* Minor slippery stuff (#20535)

* Update submodule to 162.2.0 (#20570)

* Predicted armor (#20560)

* clean up some lines in smile the slime prototype (#20552)

* Revert "Use full file path for temp replays (#19002)" (#20545)

* Add EyesGlasses into ClothesMate (#20523)

* Automatic changelog update

* Fix Punpun crew monitor sensor (#20484)

* Automatic changelog update

* EasyPry airlocks for arrivals. Now also prying refactor I guess (#19394)

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

* Automatic changelog update

* Make arcades hackable again (#20555)

* Automatic changelog update

* Health alert tweaks (#20557)

* Automatic changelog update

* Add active and ended game rule components, generic TryRoundStartAttempt and minPlayers field (#20564)

* Improve active game rule querying, add generic try round start attempt method, move minPlayers to GameRuleComponent

* Nukeops todo and cleanup

* Remove Active field

* Add EndedGameRuleComponent

* bartender suit (#20521)

* give me a drink bartender

* guh

* aARG

* Necropolis and mine walls (#20578)

* Automatic changelog update

* archaic accent tweaks (#20567)

* Automatic changelog update

* Add confirmation to kick and respawn in the admin player actions panel (#20542)

* Remove windows-latest CI runs, remove unused build-test-release.yml (#20540)

* Change .editorconfig to keep existing attribute arrangement (#20538)

* Automatic changelog update

* Catch replay start and end errors on round restarts (#20565)

* Update trivial components to use auto comp states (#20539)

* Fix role unbans not applying in real time (#20547)

* Disable AHelp buttons when no player is selected, update button styling (#20568)

* Automatic changelog update

* Added a toggle fullscreen button (default F11) (#20272)

* Added a toggle fullscreen button (default F11)

* Removed un-needed comments

* Review Requested Changes

* Fixed Acidental Spacing Change

* bwoink, removed extraneous code

* nothing, litterally

* Automatic changelog update

* Fix not networking markings (#20588)

* Automatic changelog update

* Update RobustToolbox to v162.2.1 (#20590)

* Automatic changelog update

* Glorfcode (force say on damage/stun/crit) (#20562)

* Automatic changelog update

* Fix AHelp progressively showing more AHelp panels (#20591)

* Automatic changelog update

* caninsert entitystorage tweaks (#20589)

* Automatic changelog update

* Fix mapping actions crashing on load (#20592)

* Fix loading a map with a ThirstComponent crashing the game (#20594)

* Fix electrocution displaying real name of disguised players (#20603)

* Organ fixes (#20488)

* Automatic changelog update

* Kettle medical rework (#20435)

* Initial try at medical rework for kettle

* Re-add decal decorations to Kettle's medical

* Add more lockers to kettle's med

* Actually upload kettle's map, not its proto

* Automatic changelog update

* Added blocked visuals to volumetric pump (#20610)

* Automatic changelog update

* Move TimedDespawn to engine (#20515)

* Update submodule to 163.0.0 (#20616)

* Remove v0.1 version number from local main menu screen (#20617)

* Remove cloneData parameter from AutoNetworkedField (#20596)

* Update submodule to 164.0.0 (#20618)

* fix cognizine ghost role (#20632)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Move ID layer one pixel to correct alignment (#20630)

* Update nukie hardsuit descriptions (#20529)

* Make holofans destructable (#20445)

* Automatic changelog update

* bowl is open (#20453)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Add TestPair.WaitCommand() (#20615)

* Rename ThreatPrototype and mark fields as required (#20611)

* Adjust hard bomb shape (#20608)

* dragon refactor, objectives and use GenericAntag (#20201)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Added generic empty liquids tank (#20563)

* Move view variables verb to the top of the list with no category and localize it (#20546)

* saltern update (#20325)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Fix followers leaking (#20643)

* Add Winter Boots (#20622)

* add

* fix prototype

* Add QM mantle (#20621)

* add

* fix prototype

* Automatic changelog update

* Slime mobs breathe nitrogen and resprite their organs (#20577)

* Slimes breathe nitrogen and resprite their organs

* ups

* mmm

* Automatic changelog update

* Fix the new lizard horn's consistency + issue (#20620)

* fix

* add

* Revert "add"

This reverts commit a054a3204a8f185a94ceb80b1bd3bc9f30423711.

* Add RandomHumanoidAppearance component to for space ninjas (#20605)

* Automatic changelog update

* Space cat breathes space (#20550)

* Space cat breathes space

Made Space Cat lungs ROBUST

* Made Space Cat's lungs ROBUST 2.0

* Automatic changelog update

* Wide anomaly locator (#20581)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* add textures

* fix encoding

* fix 2

* Automatic changelog update

* Fixed Telescopic Shield Lighting (#20650)

* Fixed Telescopic Shield Lighting Bug fix #20199

* no need for these at all

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Automatic changelog update

* Add a special hardsuit for nukie medic (#20471)

* Automatic changelog update

* Carry over other mutations when doing species mutation (#20551)

* Automatic changelog update

* Add Spanish accent to poncho and sombrero (#20377)

---------

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: ravage <142820619+ravage123321@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: LEVELcat <68501903+LEVELcat@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Doru991 <75124791+Doru991@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Skarletto <122584947+Skarletto@users.noreply.github.com>
Co-authored-by: NULL882 <104377798+NULL882@users.noreply.github.com>
Co-authored-by: lunarcomets <140772713+lunarcomets@users.noreply.github.com>
Co-authored-by: Miro Kavaliou <miraslauk@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Kacper Urbańczyk <kacperjaroslawurbanczyk@gmail.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: daerSeebaer <61566539+daerSeebaer@users.noreply.github.com>
Co-authored-by: Fluffiest Floofers <thebluewulf@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: drteaspoon420 <87363733+drteaspoon420@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: Kacper Urbańczyk <mikrel071204@gmail.com>
Co-authored-by: Tox Cruize <141375638+TexCruize@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Michael Cu <43478115+michaelcu@users.noreply.github.com>
2023-10-03 14:15:46 -05:00
metalgearsloth
c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
metalgearsloth
3ab346f471 Remove Ammo component references (#19537) 2023-08-31 14:33:28 -07:00
TaralGit
8acac895fc (Re)Adds open bolt animations for gun sprites (#17219)
Co-authored-by: and_a <and_a@DESKTOP-RJENGIR>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-08-13 15:58:07 +10:00
metalgearsloth
0f917d22d7 Color flash effect fixes (#18952) 2023-08-10 10:44:52 -07:00
Slava0135
53db6bc265 Examine throwable damage (#18580) 2023-08-07 19:09:35 +10:00
metalgearsloth
a5ed3af5b1 Gun cleanup (#18682) 2023-08-05 12:49:27 +10:00
Slava0135
d4c8065e8a Move and rename damage effect to color flash effect (#18263)
* move damage effect to different package

* rename to ColorFlashEffect

* renaming some other things
2023-08-01 19:02:54 +03:00
Arendian
2c5f202dca Eject casings some distance from the gun (#18081)
Makes bullet casings launch a bit away from you when shooting a gun. Cycling still drops it at your feet.

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-07-29 14:07:31 -07:00
Arendian
580d481710 Make clumsy entities able to shoot funny weapons (#18156)
* Make clumsy entities able to shoot funny weapons

* remove unneeded line
2023-07-19 15:22:07 -06:00
metalgearsloth
68480af109 Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
Chief-Engineer
9b1d587235 add reflect logs (#17006) 2023-06-01 15:57:31 +10:00
metalgearsloth
cd487b66e4 Content mapmanager query changes (#16894) 2023-05-28 23:22:44 +10:00
Chief-Engineer
0053ddb8f8 fix hitscan log (#16884) 2023-05-28 17:01:08 +10:00
metalgearsloth
552fbb0585 Adds grappling gun (#16662) 2023-05-27 14:15:15 +10:00
metalgearsloth
347dcfbeb5 Add reflection for crystals (#16426) 2023-05-15 15:21:05 +10:00
metalgearsloth
6417bb4fa0 Proto-kinetic crusher (#16277)
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2023-05-14 13:15:18 +10:00
Kara
ab6707aef6 Give monkeys clumsy (#16320) 2023-05-11 10:27:47 +10:00
metalgearsloth
06efff2b2d Flare gun 1984 (#15807) 2023-05-04 12:46:02 +10:00
metalgearsloth
d51d74d934 Content fixes for timeoffsets (#15934) 2023-05-01 14:49:25 +10:00
Leon Friedrich
9513ea66e4 ECS BatteryComponent (#15337) 2023-04-19 20:10:08 +10:00
Slava0135
6412289334 Make energy sword reflect projectiles and hitscan shots (#14029) 2023-04-02 23:48:32 +10:00
deltanedas
27e5fe5767 pneumatic cannon fixes (#14705)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-03-25 16:15:46 -07:00
metalgearsloth
330bb7bb14 Remove gun .Owners (#14585) 2023-03-11 20:08:22 +11:00
metalgearsloth
c90f48a220 Nerf bullet impulses (#14145) 2023-02-23 12:37:57 +11:00
Chief-Engineer
546c3fb5dd add clumsy deletion logs (#14172) 2023-02-18 23:38:38 -06:00
Ilya Chvilyov
eae58211e1 Separated Bonk functionality and component from ClimbSystem and ClimbComponent (#13635) 2023-01-31 17:33:00 -04:00
metalgearsloth
bf79d76666 Content update for ECS physics (#13291) 2023-01-15 15:38:59 +11:00