Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Master Mass Pick #1

Conversation

VMSolidus
Copy link

Description

This took awhile, and needed to happen before I can touch errors.

Peptide90 and others added 30 commits September 14, 2024 16:06
…#862)

Ported from Nuclear14 by request of @OldDanceJacket as they wanted the
weather blocking markers. Tought you may as well get the rest of the
stuff for rad markers and invisible walls too. Useful for planets.

---------

Signed-off-by: Peptide90 <[email protected]>
Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description

This PR adds a generic system which gives an entity the ability to fly.
Optionally increasing their speed in exchange for a continuous stamina
drain, which can, and **will** stamcrit them if left unchecked.

---

# Technical Details?

We normally dont have this section but I'd like to outline the changes
since I messed with quite a few systems:

- Introduces a `FlightComponent` which can be added to any entity in
YML, needs to be tied to an action with an event of type
`ToggleFlightEvent` This component holds properties for:
- Toggling animations on and off, either at the entity level or the
layer level.
    - Altering shader animation properties
- Altering speed, stamina drain, sounds played, delay between sounds,
etc etc.
- Adds a `FlyingVisualizerSystem` that can take a given `AnimationKey`
which points to a shader, and optionally can apply it to either the
entire sprite, or a given layer.
- Adds a check in `SharedGravitySystem` for making the entity weightless
when it has the `FlightComponent` and is flying.
- Adds a check in `SharedCuffableSystem` to disable cuffing when the
target has the `FlightComponent` and is flying.
- Introduces a new field in the `StaminaComponent` which serves as a
dictionary for persistent drains, with the key being the source (UID) of
where it came from. The drains can also indicate if they should apply
the stamina slowdown or not (relevant for both this PR, and for an
eventual sprinting PR)

---


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

[![Flight
Demo](https://i.ytimg.com/vi/Wndv9hYaZ_s/maxresdefault.jpg)](https://youtu.be/Wndv9hYaZ_s
"Flight Demo")
</p>
</details>

---

# Changelog

:cl: Mocho
- add: Harpies are now able to fly on station for limited periods of
time, moving faster at the cost of stamina.

---------

Signed-off-by: gluesniffler <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
# Description
Fixes pulling being obnoxiously unphysical. Entities now exert a
specific amount of force defined as the product of their mass and the
SpecificForce set in their PullerComponent. Doing a ctrl-right click now
sets a target position where your entity begins to continuously push the
pulled entity towards, instead of throwing it or pushing it once
(however, it should still be possible to drag people and disposals and
the like). Additionally, your entity will properly experience recoil
from dragging someone around.

# TODO
- [X] Do stuff
- [X] Fix stuff
- [X] Fix aghosts not being able to push (?)
- [X] Fix pulling giving you free kinetic energy while in spess (how?)
- [ ] Test if throwing felinids into disposals via pulling still works
:trollface:

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



https://github.com/user-attachments/assets/2498ef8c-f743-4702-b73c-b2da0c16e9aa


</p>
</details>

# Changelog
:cl:
- add: Pulling has been reworked. Your character will now try to
continuously push the pulled entity when you use the push keybind.
- remove: You can no longer push the pulled entity while walking, and
pushing now follows the momentum conservation laws.
# Description

By request. A typical engineering team takes as much as 40 minutes to
setup a Supermatter engine with no experience. Core is designed to
**FORCE** players to setup a Singulo, which takes 15 minutes, therefore
Core loses power in 20 minutes with its comically undersized and
underpowered AME.

I increased the size of Core's AME so that engineers have more time to
setup Supermatter. A lot more time actually.

# Changelog

:cl:
- tweak: Core now has a 6-Core AME, which is supplied with two jars of
fuel. This should give Engineers significantly more than 20 minutes of
time to setup the Supermatter engine.
# Description

Changed the textures of wooden and metal benches. Now wooden benches are
turned correctly, and metal ones have the correct texture of the left
and right halves

---

# TODO

- [x] Task
- [x] Completed Task

---


![Screenshot_80](https://github.com/user-attachments/assets/ff51a698-5387-4b4e-8d2e-4408c2893577)

![Screenshot_81](https://github.com/user-attachments/assets/235f4dbd-c379-45cd-86ea-821a145f0862)

![Screenshot_82](https://github.com/user-attachments/assets/04757bd0-c317-4f3f-91eb-91c1c2d52dec)

![Screenshot_83](https://github.com/user-attachments/assets/dcf006e9-50d6-443f-80b1-c2cce22b1b9a)


---

# Changelog

:cl: JayJacobs
- tweak: Changed the sprite of the barber chair.
- fix: Fixed bench textures.

Co-authored-by: Flybik <[email protected]>
<!--
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]? -->

- Makes the fireaxe once again able to perform its primary function.
- There is now a way to emergency space a room without using an RCD.
- Viva Atmosia.

---

# 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] Return Fireaxe Prying

---

<!--
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>

</p>
</details>

---

# Changelog

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

:cl: zelezniciar
- tweak: The fireaxe once again can pry subfloors

Co-authored-by: SsalamethVersaach <[email protected]>
# Description

This "ZERO C#" Pr adds 10 additional traits to the game, which only make
use of pre-existing components, along with some of the new TraitSystem
functionality. These are the following new traits:

- **Photophobia**: Functions as per Vulpkanin Light Sensitivity
- **Clumsy**: Functions as per Clown clumsiness
- **Small**: Functions as per Felinid PseudoItem, requires a character
be Felinid sized
- **Temperature Tolerance**: Functions as per Vulpkanin low temperature
resistance
- **Spinarette**: Functions as per the same ability from Arachnids.
- **Talons**: Replaces your melee natural attacks with Piercing talons
- **Claws**: Replaces your melee natural attacks with Slashing claws
- **Striking Calluses**: [Human only, requires Martial Artist or Boxer
job], increases your base unarmed attack to 6 damage, from 5.
- **Natural Weapon Removal**: For species with melee attacks other than
blunt, replaces Talons or Claws with Fist.

## TODO:

- [ ] Adjust the points costs/additions for these traits to ensure
balance. Although I can't imagine most of them being changed. I do still
wish for a decent number of traits to be within the 1 to 3 point range.

<!--
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/c2e7a42b-2b1f-43ea-8f0d-5275c06c51ae)


![image](https://github.com/user-attachments/assets/bb60ffbe-0755-483b-b3a4-028764b465a7)

</p>
</details>

# Changelog

:cl:
- add: 10 new Traits have been added to the game. Photophobia, Clumsy,
Small, Temperature Tolerance, Claws, Talons, Natural Weapon Removal,
Striking Calluses, and Spinarette.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description

I've spoken with this subject with quite a few people so far, that
there's some inherent issues with the game's setting as regards to
corporations, and people readily identifying certain companies as being
"Syndicate Companies". It makes absolutely no sense for things like that
to be completely public knowledge that X-Company is explicitly
antagonistic, when publicly they would just be companies that sell
products to an open market-- an open market that NanoTrasen buys from.
And while we've been doing this lately with adding non-NT company names
to the names and descriptions of hardsuits, one thing has been bugging
me and other people for awhile.

"If the Cybersun tacsuits are meant to be something that the Nukies
literally bought on the open market and painted red. Why can't the
station also purchase these suits from the same market? If a
manufacturer of these suits notably declined to sell its products to
another company, it would be an extremely obvious tell that they were
overtly hostile to that corporation. It makes more sense if they openly
sell said products at an inflated cost, so that they can put up public
appearances of neutrality".

This also brings to mind that the Reverse Engineering Machine, in it's
current rendition, is extremely problematic for establishing the game as
a serious setting, given that it currently functions as what is
essentially "Press button to commit industrial espionage". Having talked
with its original creator, Rane also agreed that- especially in the
context of the "Blukie Suits", this presents an issue for the game's
setting presentation. It's a plot hole that makes very little sense.

So, what this PR does, is make it so that station Logistics can purchase
crates containing CSA branded Tacsuits, painted in the blue, at a
massively overinflated cost. These crates come with Security locks,
meaning that they would be bought for use solely by the station's
security. Additionally, this removes the ability for the Reverse
Engineering machine to violate the intellectual property of other
corporations, which in-universe would be something highly illegal under
a truly neutral space law.

I actually also believe that other hardsuits and tacsuits, including
ones purchased from Five-Points-Armory, Hephaeustus, etc, should all be
purchasable from cargo. Technically, any weapon, hardsuit, or armor,
should also be purchasable, but making it so that cargo can order a
Sec-Crate with a C-20r in it would be extremely controversial, and is
best left to a separate PR.

# Changelog

:cl:
- add: CSA-51a "Shanlin" and CSA-80UA "Guan-Yu" Tacsuits can now be
purchased from Logistics for use by station security personnel, at an
extremely overinflated price. These suits come prepainted in blue.
- remove: Reverse Engineering machines can no longer violate the
intellectual property rights of publicly traded corporations. This means
that Cybersun Tacsuits; regardless of where they were obtained from or
what color they were painted, can no longer be reverse engineered.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description

This PR implements a long overdue rework of the underlying system for
actually giving Psions their powers, by making it a semi-deterministic
system that favors people having a small handful of powers, unless said
person has inherent modifiers that let them generate them more
consistently. A common complaint I received from the new Psionic System
is that stations tended to become "Space Hogwarts" given enough time,
since people could very easily game the system to consistently get new
powers every 20 minutes, until a majority of the station was throwing
fireballs at each other.

Now, obtaining new powers gets more difficult the more powers you have,
exponentially so. Powers can also declare in their prototype how many
"Slots" they occupy, meaning that certain powers can make this even more
difficult, or not at all, as desired.

# Changelog

:cl: VMSolidus & Rane
- add: Psionic Power "Rerolls" have been reworked. Psions now have a
stat called Potentia, which is increased by sources of Psionic Rerolls
such as Space Drugs, Loto Oil, and Random Events. Instead of being an
all-or-nothing "D100 with modifiers" roll, whatever you roll is added to
your Potentia stat, and when Potentia reaches a certain threshold, it is
automatically "Spent" to buy a random new power. Your first power costs
100 Potentia, your 2nd power costs 200, 3rd costs 400, and so on. The
more powers you have, the more difficult it is to obtain new ones.
- tweak: Some powers, such as Telepathy and Xenoglossy, do not count as
a power for the purpose of Potentia Cost

---------

Signed-off-by: VMSolidus <[email protected]>
# Description

IPCs were ported from a codebase that didn't necessarily follow all of
our repo's coding standards. And while I had done my part to cleanup as
much of the system as was practical within the bounds of a Maintainer
Review, there were a lot of things that I felt were inappropriate to
leave to review, and wished to go over with a fine lense. Thus, here is
my Refactor of IPC code.

Do not merge this without first testing that nothing was broken. Because
I haven't tested it myself yet.
# Description

I CAN'T BELIEVE I MISSED THIS.
# Description

Clone Pod isn't the one that has the ability to say the message, the
cloning console does. This fixes a bug where Uncloneable messages aren't
being played.

# Changelog

:cl:
- fix: Cloning Consoles will now correctly state when a body has the
Uncloneable trait.
# Description

Port of WWhiteDreamProject/wwdpublic#2
And now also WWhiteDreamProject/wwdpublic#8
Because Lying Down System is dependent on the Telescope System.

# TODO

- [x] Reconcile the code with core code, do code cleanup. I'll undraft
this when I'm done. Probably not going to be tonight, because I will
have to get some sleep soon to get up early for my calculus classes.

# Changelog

:cl: Spatison (White Dream)
- add: Added lying down system / Добавлена система лежания
- tweak: Lying down now uses do-afters that are visible to other people
to indicate what is going on.
- add: Added telescope system / Добавлена система прицеливания
- tweak: Now you can aim from Hristov / Теперь можно прицеливаться из
Христова

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: Spatison <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
<!--
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]?
-->

This PR Remove and the DeltaV Option Tab while moving the specie filter
to the general accessibility tab.
View Media for images.

This PR also Rebase the option and removed useless duplicated, CVars are
moved, .ftl files.
Tho cvar name is unchanged so the option will still be enable if you
enabled it before.

This PR fixes Simple-Station#481 and put PR Simple-Station#630 stale.

---

<!--
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/55fdf75d-2c02-4c25-b0df-e76cce564a33)

![image](https://github.com/user-attachments/assets/88a170fb-ba32-467c-b432-b0a8c554a489)

</p>
</details>

---

# Changelog

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

:cl:
- remove: DeltaV Option Tab (Options moved)
# Description

After doing an archaological exploration of the fucking
SpawnAndDeleteAllEntities test fail, I eventually tracked down the bug
to an issue where InternalEncryptionKeySpawner is randomly being handed
a Null EntityUid which was Null Forgiven to make the compiler shut up.
The actual EntityUid factually cannot be null during ordinary operation,
except for the dumbass race condition provided by
TestSpawnAndDeleteAllEntities.
# Description

This is a port of
WWhiteDreamProject/wwdpublic#53 from White
Dream. This PR improves the StepTriggerImmune component by making it
operate on a more granular Blacklist system, such that StepTriggerImmune
entities can further clarify via prototypes which kinds of floor traps
they are immune to, such as landmines/mousetraps, and not have blanket
immunity to everything. Because it turns out things like Lava and Soap
also were caught by the immunity, when really we just wanted Harpies &
Felinids to not trigger landmines.



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

> # Описание
> Необходимо настроить модификатор урона, чтобы IPC не получали урон от
осколков стекла.
> 
> Иммунитет StepTriggerImmuneComponent доработан. Теперь имеются
несколько типов (types): Lava - тип тайла, наступив на который
появляется урон. Это собственно лава и LiquidPlasma Landmine - мины.
Chasm - дырка в карте, куда можно провалиться Mousetrap - Мышеловка
SlipTile - Все, что должно подскальзывать игроков, имеющее размер тайла
SlipEntity - Все, что должно подскальзывать игроков, имеющее развер
энтити. Разделено для баланса. Самые ловки могут игнорировать мелкие
предметы (энтити), т.е. уворачиваться от них. Но большие по площади вещи
(тайлы по типу разлитой воды, бананиума) просчитываются отдельно.
> 
> # Изменения
> * [x]  Улучшить StepTriggerSystem (Immune)
> * [x] Добавлены типы триггера. - Lava Landmine Shard Chasm Mousetrap
SlipTile SlipEntity
> * [x]  Исправить осколки у IPC
> * [x] Исправить отсутствие урона от лавы и падение в дыры у фелинидов
и гарпий.
> 
> 🆑 Hell_Cat
> 
> * Feature: StepTriggerSystem is improved | Улучшена StepTriggerSystem
> * fix: IPC: Immunity for shards and SpiderWeb | Иммунитет осколкам.
> * fix: Felinid | Фелиниды : Immunity for Shard Landmine Mousetrap
SlipEntities | Иммунитет для осколков, жидкости, мин, мышеловок, мыла и
бананов.
> * fix: Harpy | Гарпия : Immunity for Shards Landmine Mousetrap |
Иммунитет для осколков, жидкости, мин и мышеловок.
> * fix: Mice | Мыши : Don't blow up on landmines | Мыши не подрываются
на минах.

</p>
</details>

# Changelog

:cl: Hell_Cat
Feature: StepTriggerSystem has been improved with new StepTriggerGroups.
Additionally, the StepTriggerImmune component now allows declaring for
specific StepTriggerGroups for a given entity to be immune to. Some
examples may be, Felinids, Mice, and Harpies being unable to set off
Landmines.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: Ivan <[email protected]>
Co-authored-by: FoxxoTrystan <[email protected]>
# Description

This fixes prediction issues, both where pressing the Lay down key
causes all entities on your screen to glitch and lay down, as well as
the bug where upon receiving ANY movement input, a player would be
visually changed on their screen to be laying down.

# Changelog

:cl:
- fix: Fixed issues with the LayingDownSystem. Laying down no longer
causes all entities on your screen to lay down at once. Using any
movement input no longer causes the character to appear to the player as
to be laying down.
# Description

UniversalLanguageSpeakerComponent has NUMEROUS issues, which previously
were easy to ignore since it was a language only obtainable by Admins.
But now that it's both a Psionic Power(And a trait that adds said
power), the issues with it have been highlighted. Here's just a FEW

1. UniversalLanguageSpeaker overwrites all known languages, preventing
you from speaking anything else
2. It overwrites the ability to use sign language.
3. It also overwrites the Mute trait.

To fix that, I've made it follow *MOSTLY* the logic all the other
languages use, so that it's less of a special snowflake case. Now if you
have access to it, it will appear in your language list alongside other
languages, rather than fully replacing the entire list. That way you can
intentionally choose not to speak in a language understood by all.

Fuck it, I also added the ability for the TraitSystem to just call
LanguageSystem and directly add arbitrarily any desired language, rather
than needing a component to do so.

# Changelog

:cl:
- fix: UniversalLanguageSpeaker(And Xenoglossy by extension) will now
appear in your language menu alongside other known languages, rather
than replace all known languages. You can effectively now choose whether
or not to speak it, or to use a normal language.
- add: Traits can now add Languages directly.
- add: Traits can now remove Languages directly.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: Mnemotechnican <[email protected]>
Co-authored-by: FoxxoTrystan <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
…imple-Station#934)

# Description

Surprise motherfucker, here's a massive fucking refactor of
SharedMeleeWeaponSystem.
The MeleeWeaponComponent now allows for melee weapons to directly
configure how and what members of the ContestsSystem they wish to
utilize for influencing damage. Additionally, the damage of a melee
weapon modified by Contests is now also visible when examined(Although
this only reflects damage as per the current condition of the user).

# Changelog

:cl:
- add: Melee Weapons can now individually define their interactions with
the ContestsSystem.
- add: Added the ContestArgs type, allowing arbitrarily any component to
contain a list of arguments for ContestSystems.
- add: Added the ContestConstructor, a new type of meta-Contest that
enables other systems to use components to define all possible contest
behaviors, rather than needing to hardcode specific interactions.
SimpleStation14 and others added 26 commits September 20, 2024 02:49
# Description

Adds a CVAR that when enabled, allows entities to crawl under
tables/flaps by lowering their DrawDepth, which in turn protects them
from being targeted for projectiles while crawling.

Additionally tables and plastic flaps were given collision properties
along with reduced damage thresholds, so guns can target & destroy them
easily if your mouse is on top of them.

---

<h1>Media</h1>
<p>


https://github.com/user-attachments/assets/77a04198-11cb-4895-bf2d-6f82b7f2bb5b

</p>
</details>

---

# Changelog

:cl:
- add: Adds an optional server variable which allows entities to crawl
under tables.
- tweak: Tables and plastic flaps are less resistant to damage, and can
now be targeted by guns by aiming on top of them.

---------

Signed-off-by: gluesniffler <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
# A followup PR to the previous melee rebalancing, taking in feedback
from multiple sources.

There were some unintended changes bundled with the previous melee
changes that didn't flow well together. I'm documenting everything here
but would like to preface this by saying that, while a number of folks
have had issues with the changes, there's been a surprisingly quiet
amount of people who have just come forward and said that they've liked
a number of the changes.

Instead of just being satisfied with this, I would like to appease the
folks who have had difficulties adjusting to the melee changes by
improving the experience on a number of weapons and strange outlier
cases that have cropped up.
Below is the changelog any item not listed was either only changed by
the Default Wide Swing change or had no change at all:

**Default Wide Swing**
Angle 45 -> 60
Stamina Cost 10 -> 2.5
MaxTargets 1 -> 3

_-I wasn't aware that the max targets and angle was being dropped when I
made my initial changes, the stamina cost was a bit too high(was
originally supposed to be 5 at one point). 2.5 should be rarely felt and
does more to halt stamina regen than directly impact the stamina pool.
Any weapon denoted below with a ^ symbol is buffed by this change._

**ElectricGuitar**
heavyStaminaCost 10 -> 7.5

**BassGuitar**
heavyStaminaCost 10 -> 7.5

**RockGuitar**
heavyStaminaCost 15 -> 10

**Banjo**
heavyStaminaCost 10 -> 7.5

_-All of the guitars have received less of a stamina cost, excluding the
acoustic which is fine at 10._

**RubberDuck**
range 1.3 -> 1.5
heavyStaminaCost 5 -> default

_Fear the duck._

**BrokenBottle**
attackRate 1.5 -> 1.4
range 1.3 -> 1.4

_-Normalizing the range to feel less ass, but pulling back the attack
rate a smidge as a result._

**FireExtinguisher**
heavyStaminaCost 10 -> 7.5
maxTargets 8 -> 6

**HolyBible**
maxTargets 3 -> 4

**MiniHoe**
heavyStaminaCost 5 -> default

**PlantClippers**
heavyStaminaCost 5 -> default

**Hatchet** ^
range 1.25 -> 1.4

**Mops**
heavyStaminaCost 10 -> 7.5

_-Mopfu is real._

**Drill**
range 1.3 -> 1.4

**Scalpel**
range 1.25 -> 1.4

**CircularSaw + AdvancedCircularSaw**
attackRate 1.25 -> 1.15
range 1.4 -> 1.5
heavyStaminaCost 15 -> 10

_-The heavy attack for these weapons is a 360 spin, try it out._

**SecLight**
BluntStamina 1.5 -> 2
heavyStaminaCost 5 -> default

_-This now does about 14 stamina damage on hit, for when you really need
to harm baton._

**GasTanks**
heavyStaminaCost 15 -> 10
maxTargets 1 -> 3
angle 140 -> 100

_-Been told this is a strong weapon, but a bit odd and unreliable. This
should be easier to use but still keep it's flavor._

**JawsOfLife**
attackRate 0.75 -> 0.85
range 1.75 -> 1.65
heavyStaminaCost 10 -> 5

**Toolboxes** ^
heavyStaminaCost 10 -> 7.5

**BaseTools**
heavyStaminaCost 5 -> default

**RollingPin**
heavyStaminaCost 5 -> default
maxTargets 1 -> 2

**BaseballBat**
heavyStaminaCost 15 -> 10

**RitualDagger**
range 1.4 -> 1.5

**EldritchBlade**
range 1.75 -> 1.65
heavyStaminaCost 10 -> 7.5

**UnholyHalberd**
attackrate 0.75 -> 0.85
heavyStaminaCost 10 -> 7.5

**HomeRunBat**
heavyStaminaCost 25 -> 15
maxTargets 2 -> Default

**Knife**
range 1.4 -> 1.5
heavyStaminaCost 5 -> default

_-This change parents over to majority of knives including the cleaver._

**Shiv**
range 0.75 -> 1.4

_-Whoops!_

**Crusher** ^
attackRate 0.75 -> 0.85
range 1.75 -> 1.65
heavyStaminaCost 10 -> 7.5

**CrusherDagger**
heavyStaminaCost 5 -> default

**Pickaxe**
attackRate 0.75 -> 0.85
range 1.75 -> 1.5
heavyStaminaCost 5 -> default
maxTargets 2 -> 5
angle 60 -> 80

**Drill**
attackRate 0.5 -> 1.2
range 1.4 -> 1.5
Blunt 9 -> 6
heavyStaminaCost 10 -> default
maxTargets (default)

_-I really despise the current balance of mining/salvage, the gameplay
loops require you to destroy fifty rocks to get two plasma and a bar of
gold. Your tools are now fixed._

**Sledgehammer**
attackRate 0.75 -> 0.8 
heavyStaminaCost 15 -> 7.5

_-This can hit 10 people btw._

**Spears**
_-No changes here, just a remark that they are pretty strong and a good
option yet again._

**Stunprod**
attackRate 0.8 -> 1
range 1.4 -> 1.5
heavyStaminaCost 5 -> default
maxtargets (default)
angle (default

_-So when not powered this thing does 15 stam damage when you smack
someone with it, so if it runs out of power you can still smack the
person a bit to stun them, but here, it's been buffed a bit more._

**Katana**
heavyRange 3 -> 2.75
heavyStaminaCost 10 -> 15

_-The heavy attack of the Katana is comically overpowered, it has an
absurd range. This is still really funny and cool but a little more
balanced._

**Machete** ^
heavyStaminaCost 10 -> 7.5

**Claymore**
heavyStaminaCost 20 -> 15

**Cutlass**
heavyStaminaCost 10 -> 7.5

**StunBaton**
bluntStamina 2.0 -> 2.5
heavyStaminaCost 5 -> 1
maxTargets (default)
angle (default)

_-Wow, from all the reports I got about this I thought I messed up on
the balance of the stun baton, but honestly it was just a case of
security players actually just sucking, lmao, this one is a full
problème de compétence but whatever, I'm changing the stamina cost to 1,
which shouldn't drop you at all, but will prevent your stamina from
recovering if you just spam your wide swing. I've also further buffed
the harm baton functionality._

**Truncheon**
heavyStaminaCost 10 -> 7.5

.


And that's it.
Realistically this is just an overall adjustment of stamina costs to be
a bit less punishing but this is all fairly redundant, a number of the
'issues' were spawned by default melee values not being updated properly
to some codebases and people just spamming their power attack because
that's how its been for a few months.
This should be considerably better but please left click a little
instead of flailing around.

:cl: ODJ
- tweak: Tweaked melee; Less stamina usage on heavy attacks.

Co-authored-by: jcsmithing <[email protected]>
# Description

This PR un-hardcodes the JukeSystem timer, such that individual NPC HTN
Blackboards can directly state how often, and how far they wish to juke.
The effect of this is that NPCs are no longer completely impossible to
hit with left-clicks in melee combat, while also allowing for more
"Elite" enemies that juke more aggressively and more often to be
created.

Additionally, by introducing an exit condition based on this new "Juke
Cooldown", I have made the Juke Operator run a metric shitload of
expensive calculations 5000 times less often.

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

Melee enemy with the new default juke settings, 0.5 second juke
duration, with 5 second juke Cooldown. The reagent slime will attempt to
close to melee with its enemy, but will now only attempt to evade melee
attacks once per 5 seconds. They will otherwise attempt to stay within
melee range.


https://github.com/user-attachments/assets/653e2064-e404-4be6-a958-da43096de502

</p>
</details>

# Changelog

:cl:
- tweak: JukeOperator now allows for JukeDuration and JukeCooldown
arguments. JukeCooldown is a new feature where enemies must wait an
amount of time in seconds equal to the JukeCooldown, before they are
allowed to attempt to dodge a melee attack.
- tweak: By default, NPCs will only attempt to dodge attacks once every
5 seconds.
- fix: JukeOperator now performs extremely expensive math 5000 times
less often. EXIT CONDITIONS PEOPLE!
# Description

I hate when people don't use nullables correctly, and SOMEHOW a null
reference is still being handed into IPCs.
# Description

Take 1, I hope it's this simple. This is an important balancing feature
that means you can't use longarms (Rifles, Machine Guns, Shotguns, etc.)
without holding them in two hands. I might revisit this later and create
options that can bypass this requirement, but for now this is needed so
that Nukies in EE don't just "Buy Jugsuit, L6, Eshield, Auto-Win".

# Changelog

:cl:
- add: All "Long-arms", Rifles, Light Machine Guns, Shotguns, now
require wielding to use.
<!--
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 the Atmospheric Alerts Computer, as implemented on WizDen

---

# TODO

[x] small fixes

<!--
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
-->

n/a

---

<!--
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>

![Snímka obrazovky 2024-09-13

225958](https://github.com/user-attachments/assets/e03a5535-4e1d-427b-97b3-91b515e7df59)



</p>
</details>

---

# Changelog

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

:cl: zelezniciar
- add: Added Atmospheric Alerts Computer

Co-authored-by: SsalamethVersaach <[email protected]>
# Description

This is a very _early_ take on a Language menu, making use of the new
CharacterItemGroups functionality, as well as functionality added to the
trait system that allows it to add and remove languages directly. This
PR adds in the languages Tau-Cetic Basic(taking the place of Galactic
Common), Tradeband, Freespeak, Elyran Standard, and Sol Common(I'm
replacing the extremely basic bastardized Sol Common we had before with
the fully realized version of it from Bay12).

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


![image](https://github.com/user-attachments/assets/68d054b6-975b-42db-b039-d517e337ace3)

</p>
</details>

# Changelog

:cl:
- add: A basic Languages menu has been added into the Traits tab. 
- add: Tau-Ceti Basic, Tradeband, Freespeak, Elyran Standard, Sol
Common, and Sign Language have been added to the Languages tab.
# Description

This should have been removed awhile ago. This objective shouldn't exist
because you automatically win it entirely by default if you selected the
Latent Psychic trait in Chargen. And you permanently fail the objective
if you didn't select said trait.

# Changelog

:cl:
- remove: Removed the "Become Psionic" traitor objective. It was
literally impossible to fail if you took the Latent Psychic trait, and
literally impossible to greentext if you didn't.
This is an automated Pull Request. This PR updates the GitHub
contributors in the credits section.

Co-authored-by: SimpleStation Changelogs <[email protected]>
# Description

By extremely popular demand(Both internally, and from our downstreams),
this PR reimplements Part Upgrading. Since some of the systems that this
PR touches were substantially changed since the removal of Parts, I had
to do a lot of very in depth by-hand edits of individual systems.
Shockingly, the only one that really proved any trouble was Cloning
System, so I'm genuinely surprised wizden didn't substantially touch any
of these codes since removing parts..

# Changelog

:cl:
- add: Part Upgrading has returned!

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description

This is a port of
WWhiteDreamProject/wwdpublic#11 from White
Dream. This feature selects random items in the traitor uplink each
round to be discounted and moved to the Discount tab, which are the same
for every traitor. This in theory helps encourage players to be
spontaneous, and use items that they otherwise might not normally
consider using, which helps mix things up from round to round.

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

> # Описание PR
> Порт скидок в аплинке.
> 
> # Изменения
> 🆑 Spatison
> 
> * add: Added discounts in uplink / Добавлены скидки в аплинк

</p>
</details>

# Changelog

:cl: Spatison
add: Added discounts in uplink / Добавлены скидки в аплинк

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: Spatison <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description

This PR introduces two new Psionic Powers, Healing Word, and Breath of
Life, both utilizing a new PsionicHealOtherSystem, which operates on
datafield event arguments rather than a "hardcoded" component. Thus, any
number of powers can be created which share this system.

Healing Word is a power that features a short cast time, and heals a
small amount of each damage type to a target(while reducing the target's
rot timer slightly). It has a relatively short cooldown, and a low
glimmer cost.

Breath of Life by contrast, is an extremely rare power with a longer
cast time, healing a much larger amount of each damage type to a target,
reduces rot significantly, and attempts to revive the target. It has a 2
minute cooldown, and a high glimmer cost.

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


![image](https://github.com/user-attachments/assets/ba01ccce-639f-4b03-84bb-55f96b5aeda3)

</p>
</details>

# Changelog

:cl:
- add: Healing Word has been added as a new Psionic Power. When cast on
another person, it heals a small amount of every damage type(scaling
with Casting Stats), while also reducing rot timers. Healing Word has a
very short cooldown, and a fairly low Glimmer cost.
- add: Breath of Life has been added as a new extremely rare Psionic
Power. When cast on another person, it heals a large amount of
damage(scaling with Casting Stats), while also substantially reducing
rot timers. Additionally, it will revive the target if it is possible to
do so. Breath of Life has an incredibly long cooldown, a long
interuptable cast time, and an extraordinarily high glimmer cost(A
typical Psion will spike glimmer by more than 50 points when casting
it).
- add: The Chaplain now starts with the Healing Word power.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description

This PR is a follow up to
Simple-Station#939
By increasing the number of items that are struck by bullets, or can be
targeted by bullets. To add to the "Cinematic" experience of a gunfight,
Bottles, Cups, and Plates of all kinds are automatically struck by
bullets when fired over, and *probably* destroyed given that they only
have 5 hit points. This also serves to aid in limiting the amount of
things that can be hidden underneath when crawling under a table, since
the station's bar counter will likely explode into a ton of glass and
spilled booze when a gunfight gets near it.

I also added Chairs to the "RequireProjectileTarget" feature, so that if
you click on a chair, you'll shoot the chair and (probably) destroy it.

# Changelog

:cl:
- add: Bottles, Drink Glasses, Plates, and all liquid containers are now
struck by bullets(and most likely destroyed in the process). We hope
that this will offer both a small tactical advantage/disadvantage, as
well as contribute to making gunfights around the bar more "Cinematic".
- add: Chairs are now hit by projectiles if a shooter clicks on them, in
addition to Tables.
@DEATHB4DEFEAT DEATHB4DEFEAT merged commit a4852fe into DEATHB4DEFEAT:wizden-mass-pick-2 Sep 22, 2024
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants