Commit Graph

8215 Commits

Author SHA1 Message Date
metalgearsloth
cdfee5aa0c Transform cleanups (#25963)
* Transform cleanups

* Fix build

* ascension
2024-03-29 17:26:30 +11:00
Jake Huxell
59e46aab93 Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests
2024-03-29 16:28:16 +11:00
lzk
69a15ada7f Send what seleted for secret to admin chat (#26500)
* Send what seleted for secret to admin chat

* add line

* Add localization support
2024-03-29 16:03:34 +11:00
Nemanja
aba16198f6 Go back to constant electrocution damage based on voltage (#26455)
Makes electrocution damage based on the voltage of the wire and bring down the damage to a sane level. It's no longer primarily based on the power being received.

LV Cable -> 10 damage
MV Cable -> 20 damage
HV Cable -> 30 damage

Having a primarily power-based damage system causes there to be massive fluctuations in damage based on things outside of a regular player's control, like the station power output. This removes a lot of player agency and turns grilles into a risky gamble where they can either do no damage or instantly fry the player due to simply being hooked up to the engine.

While this may be a more accurate simulation in some regards, the reality of the gameplay is that it's often just frustrating, resulting in constant death traps as players brushing against electrified grilles and punching wires take absurd amounts of damage. By making them flat rates, it's possible to actually balance the damage output.
2024-03-28 12:44:44 -08:00
nikthechampiongr
df631ff8a0 Fix Incorrect stealth messages appearing on readmin. (#26511)
Fix major skill issue/Incorrect stealth messages appearing on readmin.
2024-03-28 20:19:53 +01:00
Tayrtahn
7759d404c6 Fix arcade goodbye message implementation (#26514) 2024-03-28 12:56:49 -04:00
metalgearsloth
bbe08c0bfb Fix master (#26501)
* Fix master

* this

* messages

* Fix missing verb name parrot

* Fix messagePack for blockgame and spacevillain

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-03-28 04:12:36 -07:00
Tayrtahn
794a447bb7 Separate "thank you" messages from general ads (#25867)
* Separated "thank you" messages from general ads

* Moved MessagePackPrototype to shared, cleaned up AdvertiseComponent, and actually killed AdvertisementsPackPrototype.
+More suggests changes.

* Rename PackPrototypeID to Pack in both components.
2024-03-28 17:46:26 +11:00
deltanedas
d13da2837d voicemask can select speech verb (#25768)
* add Name field to SpeechVerbPrototype

* extra locale for voice mask ui

* SpeechVerb ui and handling

* raaaaaaaaa

* reeeeeeeeal

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

* fix sort

* did you hear john syndicate died of ligma

* Update Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-03-28 17:36:43 +11:00
Nemanja
d576f5cbbb dynamic alert sprites (#25452)
* dynamic alert sprite

* fix fat cooldowns
2024-03-28 17:32:56 +11:00
Tayrtahn
b1ba6b5bb6 Arcade machine improvements (#24200)
* Give 'em something to talk about

* Wire panel visuals

* Wire graphics tweak

* More ads and thanks

* More ads for a noisy arcade

* New screen for space villain machines

* Implement EmitSoundIntervalComponent and a bunch of arcade noises

* Require power for sounds

* Allow earlier startup intervals

* Orange glow

* Audio attributions

* Include the PR link

* Replace EmitSoundInterval with expanded SpamEmitSound

* Remove pacman-themed arcade sounds

* Documentation good.

* Updated methods to use Entity<T>

* Refactored SpamEmitSound to get rid of accumulator and chance.

* Fixed prewarm logic

* Moved stuff to Shared

* Fix outdated YAML

* Better prediction, auto pause handling

* Make enable/disable reset the timer instead of trying to save it.
2024-03-28 17:28:45 +11:00
Nemanja
766192f4b5 Use nav beacon locations for announcements (#26437)
* use nav beacon locations for announcements

* :thumbs_up:
2024-03-28 16:53:18 +11:00
superjj18
578f7e4f2c Remove broadcast cooldown (#26492)
* Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal.

* Revert "Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal."

This reverts commit c730d6499b6908f6ae7c52e21d5338fa3b7eb80e.

* Reapply "Removed inconsistent broadcast cooldown whenever the "Announce" button is pressed on the communications terminal."

This reverts commit 3c2d66af865a11ca55eb0e98db58a955c0d70c00.

* -Removed cooldown entirely
2024-03-28 16:41:20 +11:00
blueDev2
4d9a79d96b Allow cargo bounties to be sold off-station (#26469)
* Ported over code for delta-v to fix bounties

* Added requested changes

* Removed the station arg from "IsBountyComplete". It is unneeded and all calls just use a null value for it anyways
2024-03-28 15:06:00 +11:00
Leon Friedrich
8a6879bb1b Misc ItemToggleSystem changes (#26489)
* Minor ItemToggleSystem tweaks

* Update visuals on startup

* Remove SetIgnited

* Misc toggle fixes

* Update ItemToggleHotComponent.cs
2024-03-28 15:05:04 +11:00
Leon Friedrich
77e029d4ca Remove atmos method events (#26402)
* Remove HasAtmosphereMethodEvent

* Remove GetTileMixturesMethodEvent

* Remove GetTileMixtureMethodEvent

* Remove GetAdjacentTilesMethodEvent

* Add TileMixtureEnumerator

* Remove GetAdjacentTileMixturesMethodEvent

* Remove IsTileSpaceMethodEvent

* Remove HotspotExposeMethodEvent

* Remove pipe net method events

* Remove device method events

* Use Entity<T>

* Misc fixes

* A

* Theres probably a few more of these

* Fix other resolve errors
2024-03-28 13:22:19 +11:00
0x6273
37b8d78dac Body code cleanup (#24946)
* Fix test

* Kill float accumulators

* Use entity proxy methods

* DataField auto name generation where possible

* Kill comp properties

* Clean up server comps

* Make events record structs

* Clean up shared body code

* Clean up server body code

* Rename organ events to be same names as in med refactor
2024-03-27 17:48:37 -07:00
Verm
2e9deaee1e Artifact node IDs are now only 3 digits long (#26482)
* 2-digit nodes

* 3-digits instead

* Fix exclusive bounds
2024-03-27 19:26:26 -04:00
Leon Friedrich
cb8f145975 Fix GhostRoleComponent performing randomization on ComponentInit (#26466)
* Fix ghostrole ComponentInit

* A

* a
2024-03-27 00:31:26 -04:00
Jake Huxell
ebddef7675 Objects such as lighters/welders are now able to be dropped in disposal units. (#26463)
Don't always mark after interact event as handled for welder tools. Done with a view towards allowing disposal interaction post tool system handling.

Co-authored-by: MQuatermain <misterquatermain@pm.me>
2024-03-26 19:13:58 -04:00
Leon Friedrich
fdb4a61487 Fix atmos NaN error (#26441)
* Fix atmos NAN error

* Remove redundant yaml entries
2024-03-26 15:44:56 +11:00
Nemanja
3b9c5d43ec Nerf ninja research stealing (#26421)
* nerf ninja steal objective

* fubar
2024-03-26 11:52:27 +11:00
Simon
771390bb67 Make all implants unable to be implanted more than once (#26250)
* Make mind shield implants unable to be implanted more than once

* Default AllowMultipleImplants to false and update implanters.yml

* Use TryComp instead of TryGetComponent

* Deny multiple implants for fun implants too.

* Make comment more precise
2024-03-26 01:16:19 +01:00
Tayrtahn
964c6d54ca Code cleanup: Purge obsoleted SharedPhysicsSystem methods (#26287)
Updated calls to SharedPhysicsSystem methods
2024-03-25 17:37:25 +11:00
nikthechampiongr
266cc85f57 Create DeviceNetworkJammerComponent & System as a general way for entities to act as jammers (#26342)
* Add DeviceNetworkJammerComponent & System

Allows for entities to "jam" DeviceNetwork packets.

Whenever a device attempts to send a packet, the
DeviceNetworkJammerSystem listens for the BeforePacketSentEvent.
From there if any entity with the jammer component is within range of
either the sender or receiver of the packet the event will be cancelled.
Additionally jammers can only block packets in certain networks. If a
packet is not being transmitted in one of the networks it can block then
even if the jammer is in range the event will not be cancelled.

The range is stored in the jammer component along with the networks it
can jam.

Jammable network ids are stored as strings which seems to be how custom
networks are stored (E.g. network ids for suit sensors).

To allow for all of this, the BeforePacketSentEvent was modified to
provide the NetworkId.

* Make JammerSystem for the radio jammer use the DeviceNetworkJammer. Remove redundant event.

* Replace calls to TryDistance with InRange
2024-03-24 21:59:16 -04:00
Tayrtahn
cd4eda44b8 Make parrots talk like parrots (#26340) 2024-03-24 18:26:41 -07:00
Leon Friedrich
31d70db547 Use entity queries in ambient sound & power receiver systems (#26410) 2024-03-24 17:52:05 -07:00
IProduceWidgets
451890b85b Fix admin verb to set unspawned ballisic ammo count (#26411)
Don't crash if an invalid value is given.
2024-03-24 17:45:01 -07:00
SlamBamActionman
8f652eaa75 Immovable Rod visual variations (#25932)
* Adds variations to immovable rod

* slash oopsie

* Changed prototypes from being hardcoded to being defined in the rules component

* Changed from 10% chance to 5%

* Changes based on feedback

* Fix nullable error

* Moved randomized logic to .yaml. Probabilities of alternate rods add up to 5%.
2024-03-24 23:45:52 +01:00
Pieter-Jan Briers
89db4409a4 Remove CRLF, enforce with workflow (#26401)
* Check for CRLF in actions workflow

Make emisse weep

* Copy paste bottom text

* I would like to thank StackOverflow for this spite PR.

* Mention file name in message because the workflow tab doesn't display it.

* dos2unix everything
2024-03-24 22:06:17 +01:00
keronshb
4dced51f0d Fixes store purchase events and adds support to raise a directed event (#26389)
* fixes store event check

* raise directed product event
2024-03-24 19:07:05 +01:00
Leon Friedrich
ec761114ea Run fixgridatmos for cargo & emergency shuttle (#26382)
Fix cargo & emergency shuttle
2024-03-25 03:17:56 +11:00
nikthechampiongr
dca0c6694b Add stealthmins (#26263)
* Add stealthmin command.

* Update Content.Server/Administration/Commands/AdminWhoCommand.cs

As suggested by CE.

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Add admin notifications for admins toggling stealthmin.

* Localize stealthmin command

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2024-03-24 10:39:53 -05:00
KISS
54dd273f66 Landmine stepoff (#22962)
* make landmine work on stepping off

* update methods naming

* made both step modes possible

* updated stepoff event raise to not interfere with game physics internals

* added comments

* figuring out how audiosystem works

* added beep sound effect, updated how stepoff trigger works to make it more consistent

* updated source in attributions.yml

* made stepoff working every time

* introduced suggested changes

* updated janitor's WetSignMine to have audio

* made cleaner events and bashing my head at OnEndCollide event raise

* inverted conditional where applicable

* review

---------

Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-03-24 16:33:45 +11:00
Pieter-Jan Briers
a1817a12db Add Prometheus stats for admin count (#26284)
* Add Prometheus stats for admin count

Fixes #20828

Reports time series for admin count. Counts are separated by state (active, AFK, or deadminned) and admin rank.

* Use static constructor instead of static readonly for the metric

Docs recommend this due to inconsistent execution of C# static constructors.

* Remove static usage, use IoC IMeterFactory.

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-03-24 14:48:04 +11:00
Emisse
952b7f4c4e Haunted dungeon template (#23768)
* haunted dungeon

* Initial work

Still needs prefab gen work to make it interesting.

* ime a worm

* weh

* Work

* Slight tweaks

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-03-24 14:37:18 +11:00
metalgearsloth
65960facf5 Fix playglobalsound autocompletion (#26167) 2024-03-24 14:15:26 +11:00
DEATHB4DEFEAT
b9db06ebb1 Admin New Player Notification Sound (#24327)
play a sound to active admins when a new player joins
2024-03-24 13:46:45 +11:00
nikthechampiongr
93e3aed26e Restrict door remotes to only being able to manipulate doors relevant to their type (#26371)
Restrict door remotes to only being able to manipulate doors relevant to
their type.
2024-03-24 01:48:16 +01:00
Leon Friedrich
18a35e7e83 Partial atmos refactor (#22521)
* Reduce atmos component queries

* Remove method events

* Cache airtight data

* Make MolesArchived nullable

* Fix airtight cache

* only get tile def once

* Immutable mixtures

* firelock queries

* misc

* misc cleanup

* Trim disconnected tiles

* Fix merge issues and bugs

* Why does the PR keep increasing in scope

* debug overlay

* Fix bugs

* Fix test, remove unused events

* Add setmapatmos command

* Fix overlays

* Add map check

* A

* Resolve conflicts with #26102

* Remove some obsolete methods
2024-03-24 03:34:56 +11:00
metalgearsloth
64b648ff3c NPC steering tweaks (#26351)
- Fix the free node check considering the whole tile and not the poly.
- Clear maps on direction resets.
- More robust arrival checks for pathfinding nodes.
2024-03-23 12:42:51 +11:00
Tayrtahn
763d2bca9c Fix cross-grid spreader behavior (#26346) 2024-03-22 16:29:14 -04:00
SlamBamActionman
70c718f61c Added verb action to Glue/Lube system (#26002)
* Added verb action to Glue/Lube system

* Changes based on feedback

* Fix TryGlue/Lube to use Entity<> rather than EntityUid, Component
2024-03-22 10:37:46 +01:00
Tayrtahn
ae3d745430 Code Cleanup: Purge obsolete MapManager methods (#26279)
* GetGrid

* GridExists

* TryGetGrid
2024-03-22 18:08:40 +11:00
lzk
3b3b874dd9 Snore is a trait now (#26322) 2024-03-22 18:00:57 +11:00
Plykiya
e627a0d24b Door Remote now shows Mode in UI (#26162)
* Prep for DoorRemote Status

* Door Remote Mode Messages

* plural opens and closes

* never trust webedits

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
2024-03-21 20:19:52 -04:00
nikthechampiongr
eb80d9752e Fix scram! implant keeping you pulled to someone when teleporting you (#26309)
* Fix scram! implant keeping you pulled to someone when teleporting you

* Exorcise sleep deprivation speak
2024-03-21 18:42:32 +01:00
Pieter-Jan Briers
d776c4b392 Improve admin message seen/dismiss state. (#26223)
Fixes #26211

Admin messages now have separate "seen" and "dismissed" fields. The idea is that an admin should be able to tell whether a user pressed the "dismiss for now" button. Instead of using "seen" as "show this message to players when they join", "dismissed" is now used for this.

Existing notes in the database will automatically be marked as dismissed on migration. A note cannot be dismissed without being seen (enforced via constraint in the database too, aren't I fancy).

As part of this, it has become impossible for a player to play without dismissing the message in some form. Instead of a shitty popup window, the popup is now a fullscreen overlay that blocks clicks behind it, making the game unplayable. Also, if a user somehow has multiple messages they will be combined into one popup.

Also I had enough respect for the codebase to make it look better and clean up the code somewhat. Yippee.
2024-03-21 16:15:46 +01:00
Tayrtahn
f4cb02fb0c Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
* Purge calls to obsolete EntityCoordinates methods

* Pizza defruited; rerun those tests!
2024-03-21 12:59:56 +11:00
Pieter-Jan Briers
a4692004de Fix wire layout inheritance. (#26289)
Wire layouts manually navigate the inheritance hierarchy, but the data fields on the prototypes were also automatically inherited already. This meant that inheriting a wire layout prototype and changing nothing would cause the wires to be duplicated unless they were manually modified on top.

Fix is easy: just disable inheritance on the data fields.

Also, integration test for it.
2024-03-20 16:22:47 +01:00