Commit Graph

5322 Commits

Author SHA1 Message Date
Эдуард
1468cbdb8a Wanted list cartridge (#31223)
* WantedListCartridge has been added

* WantedListCartridge user interface works

* WantedListCartridge is added as standard in some PDAs

* The CriminalRecordsSystem can now also take into account who created the record

* Added offense history table

* Fix of missing loaderUid for a cartridge without installing the program

* Added personalized information about the target

* The crime history has been finalized

* Added StatusList

* The officer's name has been added to the automatic history

* WantedListCartridge has been added to the HOS locker

* WantedListCartridge has been removed from brigmedic's preset programs

* The StealConditionSystem now takes into account whether a cartridge is inserted or installed

* Added target to thief on WantedListCartridge

* Merge fix

* Removing copypaste

* Fix merge 2

* The sprite of WantedListCartridge has been changed

* Update pda.yml

* Fix scrollbar in the history table

* Upstream localization fix

* `StatusList` has been replaced by `ListContainer` with `TextureRect`

* Margin fix
2024-09-19 12:22:02 +02:00
ShadowCommander
3fc9f96b75 Move PlaceableSurfaceComponent usages to PlaceableSurfaceSystem (#28384)
* Move placeable check to PlaceableSurfaceSystem

This check stops entities from being inserted into a storage entity
when it has a PlaceableSurfaceComponent.

The entity is instead placed on top of the entity like a table.

* Move SetPlaceable to PlaceableSurfaceSystem

* Update to transform system and consolidate code

* Fix interaction with storage that has a placeable component

* deadlock

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-19 17:42:49 +10:00
Leon Friedrich
bdd0561254 Make status effect networking not use TryAddStatusEffect (#28766)
* Make status effect networking not use `TryAddStatusEffect`

* a
2024-09-19 12:21:26 +10:00
IProduceWidgets
550c423181 Clean up solution regen and drain comps (#29777)
* clean up solution regen and drain comps

* Tape applied.

* Update Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* remain entity

* That has to be a rogue test fail.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2024-09-19 12:17:13 +10:00
SlamBamActionman
cc7e5e0150 Allow containment field generators to be enabled on mapinit (#31158)
* Initial commit

* review fix
2024-09-19 10:14:29 +10:00
deltanedas
1c839da604 move TriggerExplosion to shared (#30227)
* move component to shared

* add fake systems

* update server explosion system and remove duplicate transform query

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-19 10:01:40 +10:00
deltanedas
84062da128 let FlashArea be called from shared (#30343)
* let FlashArea be called from shared

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-19 09:58:10 +10:00
ShadowCommander
7ceb2d2507 Add a method to get the first available ItemSlot (#29846)
* Add a method to get the first available ItemSlot

* Make TryInsertEmpty use TryGetAvailableSlot

* Add param doc comments
2024-09-19 09:55:53 +10:00
ShadowCommander
d4a5bc8d6b Fix unbuckling others when clicking on the strap entity (#29998)
* Add failing unbuckle InteractHand test

* Skip trybuckle if strap doesn't have space

* Unbuckle others not just user

* Fix test failing due to delay

* Change to raise event instead of calling OnInteractHand

* Add test for buckle and unbuckle on InteractHand

* Add tick delay

* Remove unneeded tick delay and clean up

* Comment code

* Cleanup

* Swap to fastest checks first

* Fix reading empty sequence when there are no buckled entities
2024-09-19 09:55:26 +10:00
deltanedas
8a924c84ae add interaction success/failure events (#32216)
* add interaction success/failure events

* pro

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-19 00:36:44 +02:00
Ed
61089355f0 Fix Anomaly infections infinity growing after curing (#32259) 2024-09-18 00:19:34 +02:00
Ed
92be69a5ab Anomalous infections (#31876)
* inner anomaly

* anomaly pulse action

* test anom mine

* Update anomalies.yml

* fix action cooldown

* pyro_eyes

* clientsystem

* experiments

* blya

* some telegraphy

* shock eyes!

* shadow eyes

* separate files

* frosty eyes

* fix

* flora eyes

* bluespace eyes

* flesh eyes

* redoing injction

* auto add layers

* пипяу

* new injector component

* stupid me

* nice marker injectors

* anomaly spawn on shutdown

* gravity anom

* dead anomaly spawning

* add VOX states

* sprite specific layers support

* technology anom infection

* auto detach anomalies that have moved away

* Update anomaly_injections.yml

* anomalyspawner integration

* rock anomaly!

* Update anomaly_injections.yml

* fix crash bug

* tag filter

* fix anom dublication spawns

* Update anomaly.yml

* Update InnerBodyAnomalyComponent.cs

* Update anomaly_injections.yml

* dont spawn anomalies after decay

* fix morb sprite, add end message

* gravity resprite

* admin logging, double injection fix

* make flesh and living light mobs friendly to anomaly hosts

* popups

* severity feedback

* sloth review

* A

* keep organs after gib

* punpun host

* sloth synchronization

* Update arachnid.yml

* increase infections spawnrate
2024-09-17 12:49:19 +03:00
chavonadelal
ccc5f61584 Localization of steal targets (#30153)
* Localization of steal targets

* Correction of localization of theft objects

* The second correction of the localization of theft targets

* Update steal-target-groups.ftl

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

* Revision of the localization method

* Choosing a simple option for localization

* Fix TechnologyDisk name

* Corrections based on feedback received

* correction of declension

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-16 14:50:14 +02:00
drakewill-CRL
1dec19cc05 Botany Rework Part 1: Mutations (#31163)
Instead of each mutation being a flag that gets checked at some unique point in BotanySystem somewhere, they're now EntityEffects that get applied when the mutation occurs and when produce is harvested. One new list was added to SeedData so that multiple other fields could be removed.

All the non-stat-change mutations that have been rolled are added to the Mutations list, and get applied to the plant when the mutation occurs or when a seed with the mutation is planted. Produce get mutations applied at harvest if they apply to the produce, and carry all of the plant's mutations over as a seed. This gets rid of the one-off checks for things like Slippery, Bioluminescent, Sentient, etc.

The base odds of a mutation applying should be equal to the odds of the original mutation check. It pretended to have 1 bit flip (on averge) per mutation power, and odds of each mutation was the odds of one of its bit being flipped (1 /275 * bits). The 'thermometer code' applied for numbers will be replaced with simple random rolls, as both average out to the middle value. The new checks are much easier to understand and don't obfuscate the actual changes of something happening behind 3 layers of math. The biggest player-facing change is that Potency will be able to get over 65 significantly more often than it did in the previous system, but it will be just as common to get low values as high ones.

Mutation definitions have been moved to a .yml file. These include the odds per tick per mutagen strength of that mutation applying that tick, the effect applied, if it applies to the plant and/or its produce. This makes mutations simpler to add and edit.

This PR is limited specifically to the mutation logic. Improving other aspects of the system will be done in other PRs per the design document. Mutations was chosen first because its got the largest amount of one-off checks scattered all over that could be consolidated. Once this is merged, mutations could be contributed to the codebase with minimal extra work for later botany refactor PRs.
2024-09-14 20:12:17 -07:00
Winkarst
62eaae6504 Update SharedBuckleSystem to use PopupClient (#31498) 2024-09-15 12:08:54 +10:00
nikthechampiongr
ee434e397d Rename fix (#31654)
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName()

* Make renaming rely on the EntityRenamedEvent. Fix issue where renaming would keep old Examine text

Requires engine change

* Fix localisation strings

* Make PDA search be based on a renamed entity's Uid instead of its old name

To do this the pda component now has an PdaOwner field which gets
assigned when it is given as a loadout to a player

* Fix bad merge???

huh

* Use AllEntityQuery
2024-09-15 11:55:03 +10:00
eoineoineoin
dea2781047 Fix some issues with pulling system (#32145)
Joints were created with pivots at object origin, causing unintuitive behaviour when an object was not centered on the origin. Now puts the pivots at the COM.
Joint limits were set based on fractions of the union of the AABB of objects, which did not make geometric sense. Now uses the pivot length with an additional [arbitrary] length.
Joints were created with a very low spring stiffness, which had a negligible effect most of the time but caused very unintuitive behaviour when the pulled object had a low mass (#28028) - disable the spring limit, and just use the hard min/max limits.

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-09-15 02:29:05 +10:00
deltanedas
b11fdd5f0b network airlock AutoClose (#32124)
* network airlock AutoClose

* least stupid language

* great language

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-14 10:51:51 +10:00
slarticodefast
0d40b0b3e0 Add extradimensional orange, holymelon, meatwheat, worldpeas mutations (#27624)
* new mutations

* translation string fix

* add haloperidol to plant

* fix

* add FoodSequence

* food sequence fixes
2024-09-14 00:02:54 +10:00
Errant
1c6b9aaae7 movercontroller namespace (#31749) 2024-09-12 22:01:36 +02:00
lzk
8b2ea59515 don't apply traits for borg and ai (#31990)
* doesn't apply traits for borg or ai

* add some comment and summaries

* weh

weh

* well ok

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

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-12 13:36:41 +03:00
Tayrtahn
320135347f Add guidebook protodata tag: embed prototype values in guidebook text (#27570)
* First clumsy implementation of guidebook protodata

* Support for Properties, format strings

* Better null

* Rename file

* Documentation and some cleanup

* Handle errors better

* Added note about client-side components

* A couple of examples

* DataFields

* Use attributes like a sane person

* Outdated doc

* string.Empty

* No IComponent?

* No casting

* Use EntityManager.ComponentFactory

* Use FrozenDictionary

* Cache tagged component fields

* Iterate components and check if they're tagged
2024-09-12 13:31:56 +03:00
blueDev2
c8f2ddc729 Add ReagentWhitelist to Injector component and system (#28262)
* Add reagent whitelist to Injector component and system

* Apply suggested Changes

* Remove LINQ function for performance

* Update Content.Server/Chemistry/EntitySystems/InjectorSystem.cs

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

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-09-12 13:29:11 +03:00
metalgearsloth
2a58fa1ef8 Reapply "FTL + AI fixes (#31952)" (#31968) (#32094)
* Reapply "FTL + AI fixes (#31952)" (#31968)

This reverts commit c46a4ab876.

* Update
2024-09-12 14:08:54 +10:00
Nemanja
e510504596 Hivelord mob (#31322)
* Hivelord

* make it longah
2024-09-11 09:52:27 -04:00
Nemanja
a9d93e18c8 Mining Asteroid Treasure Vaults (#31638)
add interior rooms to the vgroid
2024-09-10 21:33:41 -06:00
Verm
14d5bbb8cb Fixes Borgs and Syndicats getting hurt by glass shards and other things + honkbot slipping 2 (#31011)
* Lets do this again

* I noticed this way to late
2024-09-11 04:12:08 +02:00
DisposableCrewmember42
ae7e58db5d fix: Check revenant ability costs correctly (#32050)
* fix: Check revenant ability costs correctly

* refactor: Idiomatically get negative value
2024-09-10 19:07:07 -04:00
TurboTracker
4b357a370b Removal of Maxcaps via cvar (#31437)
* Comment out gastank explosion trigger

* CVAR creation

* Blank line between method + toml update

* I fucking hate VistualStudio

* change bool logic into float

* cat dancing.gif

* Adjust some minor nits

* Update Content.Server/Atmos/EntitySystems/GasTankSystem.cs

Co-authored-by: Partmedia <kevinz5000@gmail.com>

* Un-hardcode unused initial cached CVar value

* Update Resources/ConfigPresets/WizardsDen/wizardsDen.toml

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-11 00:05:12 +02:00
themias
ec4d59f608 Save unpublished news articles (#31491)
* Add draft saving to news consoles

* fix after bui changes

* comments + rename vars

* no
2024-09-09 13:38:49 -06:00
Pieter-Jan Briers
5a6a3371dc Extend shuttle dock time if the shuttle doesn't dock at evac. (#31496)
* Extend shuttle dock time if the shuttle doesn't dock at evac.

If the shuttle can't dock at evac for *some reason*, it will instead try to dock at another port on the station. And if that fails it goes somewhere random on the station.

Because of the chaos and confusion caused by this, many people will frequently not get to the shuttle in time under these circumstances. This sucks for everybody.

To alleviate this, the shuttle launch timer will now be extended if the station doesn't dock at its ideal spot. The default values (controlled via CVar) are 1.667x and 2x respectively for "wrong dock" and "no dock at all" scenarios.

The code around here was a mess, so I fixed that too. "CallEmergencyShuttle" has been renamed to "DockEmergencyShuttle", the overload that did the actual docking has been renamed to DockSingleEmergencyShuttle. Code has been split into separate dock -> announce methods so we can calculate shuttle delay in between the case of multiple stations.

Also made the "shuttle couldn't find a dock" text announce the time until it launches and fix the shuttle timers not triggering for it.

* Minor review

---------
2024-09-09 20:10:28 +02:00
slarticodefast
2187aef904 Make mobs without hands unable to spill jugs (#31438)
* make mobs without hands unable to spill jugs

* snails
2024-09-09 14:02:15 +03:00
slarticodefast
c46a4ab876 Revert "FTL + AI fixes (#31952)" (#31968) 2024-09-08 17:50:23 +02:00
metalgearsloth
f7a87b5f32 FTL + AI fixes (#31952) 2024-09-08 18:12:23 +10:00
Ed
230ea9be46 Metamorphosis - FoodSequence 3 (#31012)
* setup some data

* cheeseburger recipe

* Update FoodSequenceSystem.cs

* finalize cheseburger recipe

* remove fun

* return old taco sprites

* full foodsequence data refactor

* return tacos

* well done

* add cutlets to burger

* chickenburger recipe

* +2 burger recipes

* more fun

* Update brain.png

* some slice produce added

* documentation

* watermelon

* skewer work

* flipping

* tomato

* skewer watermelon

* Update skewer.yml

* oopsie, ok, im go to sleep

* fix checks

* Update produce.yml

* screwed

* cheeeeeeeese

* all cooked meat added

* produce added

* aaaaand suppermatter

* key to Tag

* More

* proto string remove

* raw snail

* fix

* Update FoodMetamorphableByAddingComponent.cs

* fixes

* fix3

* fififififx
2024-09-08 02:22:27 -04:00
LucasTheDrgn
b51d9382c0 Returned functionality to industrial reagent grinders (#31903)
* Returned functionality to industrial reagent grinders without un-nerfing recyclers

* Limited industrial reagent grinder to only extractable solutions
2024-09-07 17:47:02 -06:00
Kirus59
c5f19fd2ed Damaged by contact fix (#31921) 2024-09-07 17:46:24 -06:00
godisdeadLOL
44cf3268c1 Force stop pulling when fall asleep (#31893)
* break pull at sleep

* TryStopPull without user

---------

Co-authored-by: YourUsername <you@example.com>
2024-09-06 17:30:24 -06:00
Nemanja
8599251825 Mineral Scanner (#31390)
* Mineral Scanner

* doink

* review

* sunday funday

* review and fix bugs i think?

* Update MiningOverlay.cs
2024-09-07 00:05:53 +10:00
Fildrance
a58252f45e feat: #26107 uplink discounts for traitors (no nukies for now) (#26297)
* feat: #26107 uplink discounts for traitors and nukies

* refactor: #26107 extracted discount label from price of StoreListingControl

* refactor: minor renaming

* refactor: parametrized adding discounts to uplink store

* fix: #26107 prevent exception on empty discountOptions

* feat: uplink now have 'Discounted' category which contains all discounted items on this session.

* after merge fixups

* rename discount categories according to common sense

* refactor: DiscountOptions is now optional (nullable) on ListingData

* add nullability check ignore for already checked listingData.DiscountOptions

* fix after merge store menu ui

* remove unused using

* final fix after merge conflicts

* [refactor]: #26107 fix variables naming in UplinkSystem

* fix: #26107 fix after merge

* refactor: #26107 now supports discountDownUntil on ListingItem, instead of % of discount

* feat: #26107 support multiple currency discount in store on side of discount message label

* refactor: #26107 extracted discounts initialization to separate system. StoreDiscountData are spread as array and not list now

* refactor: #26107 move more code from storesystem to StoreDiscountComponent

* refactor: #26107 separated StoreSystem and StoreDiscountSystem using events

* fix: #26107 placed not-nullable variable initialization in ListingData for tests

* refactor: #26107 minor renaming, xml-docs

* fix: #26107 changed most of discounts to be down to half price for balance purposes

* ids used in with discounts are now ProtoIds, dicountCategories are now prototypes, code with weights simplified

* decoupled storesystem and store discount system

* xml-docs

* refactor:  #26107 xml-doc for StoreDiscountSystem

* is now a thing (tmp)

* fix: compilation errors + StoreDiscountData.DiscountCategoryId

* refactor: rename ListingDataWithCostModifiers, fix all cost related code, enpittyfy performance, uglify uplink_catalog

* refactor: removed unused code, more StoreDiscountSystem docs, simplify code

* refactor: moved discount category logic to respective system, now creating ListingData c-tor clones all mutable fields as expected

* refactor: rename back (its not prototype)

* refactor: move ListingItemsInitializingEvent to file with handling logic

* refactor: comments for StoreBuyFinishedEvent handling, more logging

* refactor: moved StoreInitializedEvent, xml-doc

* refactor: simplify StoreDiscountSystem code  (reduce nesting) + xml-doc

* refactor: restore old listing data cost field name

* refactor: fix linter in uplink_catalog.yml

* refactor: xml-doc for ListingDataWithCostModifiers

* refactor: limit usage of ListingData in favour of ListingDataWithCostModifiers

* refactor: purged linq, removed custom datafield names, minor cleanup

* refactor: removed double-allocation on getting available listings

* refactor: StoreSystem.OnBuyRequest now uses component.FullListingsCatalog as reference point (as it was in original code)

* fix: minor discount categories on uplink items changes following design overview

* refactor: StoreBuyListingMessage now uses protoId and not whole object

* refactor: store refund and discount integration test, RefreshAllListings now translates previous cost modifiers to refreshed list, if state previous to refresh had any listing items

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-09-05 22:12:39 +10:00
chromiumboy
63ba0f61ea Atmospheric alerts computer (#25938)
* Atmospheric alerts computer

* Moved components, restricted access to them

* Minor tweaks

* The screen will now turn off when the computer is not powered

* Bug fix

* Adjusted label

* Updated to latest master version
2024-09-04 21:13:17 -04:00
godisdeadLOL
ac753f14ce Teleporting while pulling crash fix (#31787)
teleporting while pulling crash fix

Co-authored-by: YourUsername <you@example.com>
2024-09-04 18:44:10 +02:00
Token
8588517e45 Morgue system refactor remove unused VVs and into Entity (#31835)
* Remove unused VVs params and usings
from entityUid, MorgueComponent into Entity<MorgueComponent> ent

* remove unnecesary VVs cuz datafields add em
2024-09-04 17:30:21 +02:00
ScarKy0
6068c23f06 Station AI has their name displayed in announcements now. (#31802)
* Station AI has their name displayed in announcements now.

* I'm so sorry

* Corrections

* part 2

* part 3 :|

* part 4

* Whitespace

* Fixing whitespace part 1

* No more whitespace

* PLEASE NO MORE WHITESPACE
2024-09-04 00:05:02 +02:00
Fildrance
6380a9adca feat: now when research is unlocked in console, approver of reasearch is radio-ed too (#31170)
* feat: now when research is unlocked in console, approver of reasearch is radio-ed too

* refactor: now most of events that require actor name to be radio-ed or logged use TryGetIdentityShortInfoEvent which is subscibed by id-card system and borg system (to work for both carbon and synthetic life-forms)

* refactor: moved TryGetIdentityShortInfoEvent on id card system to shared, fixed cargo cent-com-originated orders

* remove unused check

* refactor: decoupled systems from IdCardSystem (those that are not dependent on it anymore)

* refactor: removed unuseed usings

* feat: emagged cargo/research consoles wont radio messages on buy/research confirm anymore

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-09-03 23:01:38 +10:00
IProduceWidgets
c8e59ebdd5 Add Snails (#30765)
* add snails

* scuffix

* migrate

* mo-grate

* oopsied the ftls

* Revert "oopsied the ftls"

This reverts commit 0d3c6c17f31ec904679d6a48799cea71e77c1f99.

* the curse of staging the wrong file, resolved.

* Snoth

* fix my dumbs

* reviews 1

* anti space technology

* salt hurty

* spelling

* Its a slotherhouse out here

* sequencing

* cooked snail

* volfix

* speed reversal
2024-09-03 12:33:44 +02:00
themias
78201101d6 Add Donk Co. microwave board to Combat Bakery Kit (#31239)
* Add special microwave board to Combat Bakery Kit

* use event instead of trycomp

* make the board sus

* add instructions note

* embarrassing typo

* Add functionality to Donk Co. microwave instead

* update note
2024-09-02 15:49:00 +02:00
Nemanja
a4333da241 Lite Magnet Rebalancing (#31726)
magnet rebalancing ish
2024-09-01 22:36:28 -06:00
Nemanja
f710b34573 Roundstart Grappling Gun (#31737)
Roundstart grappling hook
2024-09-01 22:33:25 -06:00
DrSmugleaf
49e0933389 Move IgnitionEvent to shared (#30985) 2024-09-02 02:27:13 +02:00