Commit Graph

7803 Commits

Author SHA1 Message Date
Leon Friedrich 768f48bd4f
Improve InteractionSystem range & BUI checks (#27999)
* Improve InteractionSystem range & BUI checks

* Ghost fixes

* AAA

* Fix test

* fix nullable

* revert to broadcast event

* Fixes for eengine PR

* Ah buckle code

* )
2024-06-01 16:56:23 +02:00
Nemanja 9adf1ed402
Remove AlertType and AlertCategory (#27933) 2024-06-01 16:55:49 +02:00
nikthechampiongr 06b4df686b
Firelock improvements part 1 (#26582)
* Change prying system and pryunpoweredcomp to allow for custom time modifiers

This will be useful if I go the route of making firelocks pryable when
unpowered instead of just being able to open and close instantly when
unpowered.

* Make firelocks properly predicted

Shared system made. Since atmos checks can only be done on the server we
just have it set relevant bools on the component and then dirty it.
Ditched atmos checks on trying to open, they now only happen whenever
firelocks are updated.

* Make firelocks pryable without a crowbar

While this usually would only allow you to do this when a door is
unpowered, firelocks do not have the airlock component which actually
does that check. As such firelocks will always allow you to pry them
open/closed by hand.

* Clean up System. Change update interval to be based on ticks. Move as much as possible to shared

* Make firelocks unable to emergency close for 2 seconds after being pried open

* Clean up

* More cleanup

* Reorganize SharedFirelockSystem methods to match Initialize order

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-06-01 16:55:26 +02:00
DrSmugleaf f580b4be64
Add defib event, add fields to be able to disable crit defib and do after movement (#28174)
* Add defib event, add fields to be able to disable crit defib and do after movement

* Fix check
2024-06-01 16:55:16 +02:00
Leon Friedrich 74308b008f
Use non-generic `TryComp()` for metadata & transform (#28133) 2024-06-01 16:53:51 +02:00
Tayrtahn 7ff91799cc
Fix non-ghosts and admins counting toward most followed (#28120)
* Fixed non-ghosts and admins counting toward most followed

* Redone to better leverage EntityQueryEnumerator

* Remember to test your code before you commit it, kids

* Review revisions

* Update Content.Shared/Follower/FollowerSystem.cs

Co-authored-by: ShadowCommander <shadowjjt@gmail.com>

* Update Content.Shared/Follower/FollowerSystem.cs

Co-authored-by: ShadowCommander <shadowjjt@gmail.com>

* Update Content.Shared/Follower/FollowerSystem.cs

* Clean up

---------

Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-06-01 16:53:44 +02:00
Tayrtahn d92b6a08cb
Prevent ghosts from spawning on terminating maps/grids (#28099)
* Extra checks to prevent ghosts spawning on terminating maps/grids

* Add test for grid deletion
2024-06-01 16:53:42 +02:00
Tayrtahn 77abecef2a
Slightly emphasize popup when someone points at you (#28152)
Slightly emphasize when someone points at you
2024-06-01 16:53:39 +02:00
Flesh 09113824e9
Add plant metabolism effects to chemical guidebook (#28038)
* draft one of plant metabolism guidebook

* loc fix?

* add attributes loc

* fix loc syntax

* improved appearance

* last commit was undercooked, my bad

* last commit was still undercooked, my worse

* last commit was even still undercooked, my worst

* Addressed comments?

* Fix newlines

* Hopefully this works

* Cleanup, I think

* 2xs
2024-06-01 16:51:34 +02:00
Nemanja c88d5d53dd
Fix magic mirror (#28084)
* Fix magic mirror

* buff magic mirror
2024-06-01 16:51:30 +02:00
Leon Friedrich caa2f7e5ba
Modify battery assert to avoid floating point errors (#28007) 2024-06-01 16:51:13 +02:00
Tayrtahn e5bbb0a4bc
Random book story generator refactor (#28082)
* Randomized book overhaul

* Fix prototype names

* Improved setting paper content

* Praise Ratvar
2024-06-01 16:50:57 +02:00
Ed e0820b8b13
Nuke spaceshroom ore (#28110)
nuke spaceshroom ore
2024-06-01 16:50:55 +02:00
double_b 7c7872a89f
Resolves Bible summon message being sent to all users (#28104)
* Changed PopupEntity overload used to ensure message is only sent to user

* Updated uid for PopupEntity call

* Updating _popupSystem.PopupEntity call in AttemptSummon
2024-06-01 16:50:40 +02:00
no 34e8105f70
Add Syndicate/generic radio implants, remove Syndicate encryption key from uplink (#1262)
* Add radio implants

* Syndie radio implant: add to uplink, formatting pass

* Syndie radio implant: fix doc string

* Syndie radio implants: add inheritdoc to systems

* Syndie radio implants: Change wording on uplink

Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>

* Syndicate radio implants: More wording changes

Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>

* Syndicate radio implants: fix review code problems

* syndicate radio implants: remove OpenRadioImplantEvent event and reuse storageimplant stuff

* Syndicate radio implants: prevent implanting borgs with generic radio (syndicate radio is still possible)

* syndie radio implants. extremely graphic non-null matching action and establishment of extreme non-virtual privacy

---------

Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
2024-05-27 15:24:52 +00:00
deltanedas 5e86111d7d
add secwatch pda app for current sussy baka
* Crime Assist cleanup

* Add SecWatch cartridge to PDAs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Azzy <azzydev@icloud.com>
2024-05-23 14:58:06 +00:00
deltanedas d1014cdedd
early merge antag fix (#1238)
* early merge antag fix

* fix test

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-22 08:36:39 +02:00
Null 0976829e7f
Roboisseur no longer sends messages in the chat (#1222)
Webedit ops

Signed-off-by: Null <56081759+NullWanderer@users.noreply.github.com>
2024-05-18 23:15:46 +02:00
deltanedas 94d3fdafa2
paradox anomaly antag rework (#1206)
* move paradox code around and update it

* make MidRoundAntagRule just give spawn locations

* update the yaml

* give anom and listening post raffles

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
2024-05-18 19:44:48 +00:00
Null 72853c1b09
Senior ID cards get a custom job name (#1218)
* Allow preset id's to have different job names

* Senior roles

* Sync with Station Records

* Change markers
2024-05-18 21:29:07 +02:00
null a37b4c3477
Fix build error 2024-05-18 14:12:42 +02:00
lzk 79d60ab6e0
Move replacement chance from ReplacementAccentComponent to ReplacementAccentPrototype (#28049)
Move replacement chance to ReplacementAccentPrototype
2024-05-18 14:04:28 +02:00
DrSmugleaf 2cef141f94
Add data field for id card microwave behaviour (#28087) 2024-05-18 14:04:27 +02:00
deltanedas fb4a534b97
fix ninja hacking not affecting sechud (#28021)
minor refactor and fix

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-18 14:01:33 +02:00
DrSmugleaf 85a0742a88
Move most rotting code to shared (#28050)
* Move most rotting code to shared

* Remove unused dependency
2024-05-18 14:00:20 +02:00
deltanedas efe79da550
biome flexibility changes (#28017)
make biome apply template on mapinit, add api for setting Enabled

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-18 14:00:10 +02:00
deltanedas 16bd7f2e8d
fire troll fix (#28034)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-18 13:59:35 +02:00
beck-thompson 99d69a89b1
Fix incorrect message displaying when trying to remove stuck item from someones hand. (#28024)
* Fix

* Fixed the other spot!
2024-05-18 13:59:34 +02:00
deltanedas 08f7ab64c5
fix fire spread round removal (#27986)
* fix a resolve debug assert

* rewrite fire spread

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-18 13:59:20 +02:00
Brandon Li 6a83e2bb1b
Reagent dispenser UI (Again) (#27958)
* reagent dispenser: fancy window

* reagent dispenser: dispense button grid

* reagent dispenser: rearrange containers & info

* reagent dispenser: remove `reagent-dispenser-window-container-label`

* reagent dispenser: add `Scrollcontainer` on right side

* reagent dispenser: get rid of pointless actions

* reagent dispenser: cleanup actions and `inventory` field on bound ui state

* reagent dispenser: cool reagent cards & finishing touches

* reagent dispenser: final cleanup and formatting

* reagent dispenser: `ButtonGrid` and `ReagentDispenserSetDispenseAmountMessage` refactor

* reagent dispenser: cleanup code & address minor concerns

* reagent dispenser: text in reagent cards no longer clips

* reagent dispenser: oh wait i forgot to change this and thats why the builds keep failing probably

* reagent dispenser mayybe this

* reagent dispenser: remove `using FastAccessors;`

* delete unused classes

* disable reagent button when container is empty

* Make things a bit bigger

* remove obsolete text color override
2024-05-18 13:59:16 +02:00
Leon Friedrich 8530bcf6e8
Change some `EntityQueryEnumerator` to `AllEntityQuery` (#27969) 2024-05-18 13:59:02 +02:00
metalgearsloth 93a6823bbb
Implement Equals for ApcBoundInterfaceState (#27965)
* Implement Equals for ApcBoundInterfaceState

Saves a lot on bandwidth. Also made it round to the nearest 5.

* Also this
2024-05-18 13:59:01 +02:00
Kara b93f956353
Resolve `'EntitySystem.Get<T>()' is obsolete` in content (#27936)
* PROJECT 0 WARNINGS: Resolve `'EntitySystem.Get<T>()' is obsolete` in content

* pass entman

* dog ass test

* webeditor
2024-05-18 13:58:55 +02:00
nikthechampiongr c8ded7032c
Record deletion (#27883)
* Allow for Station Records interface for aghosts to delete records

* Fix record consoles not working when there are more than 2 crew members.

HOW DID NOONE NOTICE THIS SOONER???

* Stop being unconventional
2024-05-18 13:58:44 +02:00
no 3e277a22d1
Prevent admin-frozen players from ghosting or suiciding, add "Freeze And Mute" verb (#27813)
* prevent admin-frozen players from ghosting or suiciding

* Add "Freeze and Mute" admin verb

* Allow "Freeze And Mute" admin verb when player is already frozen but not muted

* Remove redundant scream handler (scream action just emotes, duh)

* AdminFrozenSystem: clean imports

* Update Content.Server/Chat/Commands/SuicideCommand.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Ghost.cs

* retrigger ci (empty commit)

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-05-18 13:58:36 +02:00
Kara c56db3b1a8
Resolve `'TransformComponent.MapPosition' is obsolete` in content (#27939)
* Resolve `'TransformComponent.MapPosition' is obsolete: 'Use TransformSystem.GetMapCoordinates'` in content

* build?
2024-05-18 13:58:34 +02:00
ShadowCommander d82acccaa8
Replace AttachToGridOrMap with DropNextTo (#27950) 2024-05-18 13:57:16 +02:00
Kara 74eef92443
Resolve all non-obsoleting warnings in content (#27934)
* Resolve all non-obsoleting warnings in content

* Update ClientGameTicker.cs

* Update SkeletonAccentSystem.cs

* Update BwoinkSystem.cs
2024-05-18 13:57:06 +02:00
Джексон Миссиссиппи e8dce2b0ed
Add an admin smite for making people slip really far (and localize the admin smites better) (#27246)
* Sliiiiiiiiiiiiiiiiiip

* what

* Localize!

* antiterminate
2024-05-18 13:57:03 +02:00
metalgearsloth 25ce6c531b
Lobby refactor + species loadouts support (#27576)
* Vox stuff

* Species loadouts and lobby refactor

The control flow for lobby is all over the shop so I pulled it all up from the individual controls so now they handle the bare minimum required and LobbyUIController handles the rest.

* a

* Bulk changes

* a

* weh

* Character import / export

* finalise

* woops this stuff too

* Also datafield exporting

* comments

* Review
2024-05-18 13:55:56 +02:00
keronshb 27be1ad8c9
Magic Refactor + Wizard Grimoire (#22568)
* Brings over changes from the original magic refactor PR

* Adds Master Spellbook, spellbook categories, WizCoin currency, and locale

* Wiz€oin™

* Adds currency whitelist to Spellbook preset, grants contained actions on action added.

* Adds grant contained action and remove provided action.

* adds a way for actions to be upgraded to the store

* Adds Fireball 3 and fixes action upgrade logic so that it checks if the action can level or if the action can upgrade separately

* Fixes upgrade logic in ActionUpgradeSystem to allow for level ups without an actual upgrade. Fixed action upgrade logic in store system as well

* Removes current action entity from the bought entities list and adds new or old action entity

* Removes Current Entity

* Removes old comments, fixes TransferAllActionsWithNewAttached

* Removes TODO

* Removes Product Action Upgrade Event

* reverts changes to immovablerodrule

* Removes stale event reference

* fixes mind action grant logic

* reverts shared gun system change to projectile anomaly system

* forgor to remove the using

* Reverts unintended changes to action container

* Adds refund button to the store

* Refreshes store back to origin.

* Refund with correct currency

* Init refund

* Check for terminating and update interface

* Disables refund button

* Removes preset allow refund

* dont refund if map changed

* adds refunds to stores

* Adds method to check for starting map

* comments, datafields, some requested changes

* turns event into ref event

* Adds datafields

* Switches to entity terminating event

* Changes store entity to be nullable and checks if store is terminating to remove reference.

* Tryadd instead of containskey

* Adds a refund disable method, disables refund on bought ent container changes if not an action

* Removes duplicate refundcomp

* Removes unintended merges

* Removed another unintended change from merge

* removes extra using statement

* readds using statement

* might as well just remove both usings since it won't leave the PR

* Fixes Action upgrades from stores

* Changes to non obsolete method uses

* Shares spawn code between instant and world

* Adds action entity to action event, adds beforecastspellevent, adds spell requirements to magic component

* puts prereq check in spell methods, sets up template code for before cast event

* checks for required wizard clothes

* Networks Magic Comp and Wizard Clothes Comp. Renames MagicSpawnData to MagicInstantSpawnData.

* Removes posdata from projectiles

* Speech > RequiresSpeech

* Fixes ActionOnInteract

* checks for muted

* popup for missing reqs

* Validate click loc for blink spell

* Checks if doors are in range and not obstructed before opening

* Check ents by map coords

* Adds speak event

* Comments spellbooks

* Removes comments

* Unobsoletes smite spell

* Invert if

* Requirements loc

* Fixes spell reqs

* Inverts an if

* Comment updates

* Starts doafter work

* Removes doafter references

* Balances fireball upgrades to be more reasonable

* Enables refund on master spellbooks

* Spells to do

* update spellbook doafter

* knock toggles bolts

* Touch Spell comments

* Comments for pending spells

* more comments

* adds spider polymorph to spellbook

* TODOs for spells

* reorganizes spellbook categories and adds wands

* fixes spacing and adds limited conditions

* commented owner only for future store PR

* reenables owner only for the grimoire

* fixes grimoire sprite

* Adds wizard rod polymorph

* summon ghosts event

* Moves rod form to offensive category

* Adds charge spell and loc for rod polymorph

* Oops forgor the actual chages

* Item Recall comment

* Fixes UI

* removes extra field for wizard rod

* Cleanup

* New Condition (INCOMPLETE)

* Fix linter

* Fix linter (for real)

* fixed some descriptions

* adds regions to magic

* Adds a non-refund wizard grimoire, fixes blink to deselect after teleporting, reduces force wall despawn time to 12 seconds

* removes limited upgrade condition

---------

Co-authored-by: AJCM <AJCM@tutanota.com>
2024-05-18 13:55:05 +02:00
DrSmugleaf af6a694481
Make projectiles not hit crit mobs unless clicked on (#27905) 2024-05-18 13:53:49 +02:00
icekot8 c5b3e2861a
revenant can no longer harvest souls while in solid objects (#27612)
meow
2024-05-18 13:53:04 +02:00
ShadowCommander 13fb095cae
Fix ghosts getting spawned in nullspace (#27617)
* Add tests for ghost spawn position

* Make ghosts spawn immediately

* Format mind system

* Move ghost spawning to GhostSystem

* Spawn ghost on grid or map

This fixes the ghosts being attached the parent entity instead of the grid.

* Move logging out of the ghost system

* Make round start observer spawn using GhostSystem

* Move GameTicker ghost spawning to GhostSystem

Moved the more robust character name selection code over.
Moved the TimeOfDeath code over.
Added canReturn logic.

* Add overrides and default for ghost spawn coordinates

* Add warning log to ghost spawn fail

* Clean up test

* Dont spawn ghost on map delete

* Minor changes to the role test

* Fix role test failing to spawn ghost

It was failing the map check due to using Nullspace

* Fix ghost tests when running in parallel

Not sure what happened, but it seems to be because they were running simultaneously and overwriting values.

* Clean up ghost tests

* Test that map deletion does not spawn ghosts

* Spawn ghost on the next available map

* Disallow spawning on deleted maps

* Fix map deletion ghost test

* Cleanup
2024-05-18 13:53:01 +02:00
Vasilis 411ffc9b9d
Do not wake up NPC if there is still a mind attached. (#27651)
* Do not wake up NPC if there is still a mind attached.

This became apparent with diona nymphs (?) and slime gyras (?). This caused players that disconnected while a nymph, gyras or other npc to resume their NPC behavior. Which I would call unwanted. This fixes that.

* Zombies become AI anyway

* Update Content.Server/NPC/Systems/NPCSystem.cs

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-05-18 13:52:56 +02:00
DrSmugleaf c9e717ed48
Make FTL constants in ShuttleSystem into cvars (#27706)
* Make FTL constants in ShuttleSystem into cvars

* Fix tests
2024-05-18 13:52:25 +02:00
DrSmugleaf 8971937177
Add ActionPerformedEvent, ActionsSystem.SetIfBiggerCooldown, action id to action events and BackgroundOn field (#27682)
* Add ActionPerformedEvent and ActionsSystem.SetIfBiggerCooldown

* Add action id to action events and backgroundon field to action component
2024-05-18 13:52:01 +02:00
Ed c0d1c43003
New event: Approaching unknown shuttle (#24490)
* setup codebase

* Add first shuttle

* tak

* sync striker

* sync 2

* pipipi

* Preloaded roundstart shuttles!

* Make it abstract "PreloaderGrid" not "PreloaderShuttle"

* to do

* added china cuisin shuttle

* fixes

* add disaster evacpod

* remove enemy

* final shuttles

* weight 5 -> 10

* move data to component

* remove autotrailer touching

* doc, respath

* fix frozen positioning

* fixes + cvar

* finally

* fix evacpod

* remove blacklistrules

* remove `UnknownShuttleSpawnRule`, refactor `LoadMapRule` to support preloaded grids

* use tryload

* cleanup

* fixes

* use preloadedgrid for loneops

* weight unknown shuttles differently (preliminal)

* leftover

* cleanup and raffling

* partial review

* singleton gridpreloader no station coupling

* fix grid atmoses

* `roleLoadout` support for `LoadoutComponent`, fix missing gear

* weighting changes

* init logic fix

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-05-18 13:51:30 +02:00
Errant 6a1b7c8ee7
Space Ninjas auto-toggle internals after spawning (#25083)
* fix engine version

* actually fix engine version

* Automatically activated breathing masks

* weh

* who needed that component anyway

* check if internals are already running

* Update Content.Server/Atmos/Components/BreathToolComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Body/Systems/InternalsSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* prediction

* record struct event

* remove delayed activation, instead ensure that masks spawn last

* leftover

* engine version

* re-implement

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-05-18 13:51:21 +02:00
Jajsha fdaba28158
Players can no longer see that emagged cyborgs' internals have been tampered with. (#27816)
* Add emag-detection funtionality to diag huds

* Add component to the omniHUD

* Fix namespace

* Adress discord review, just axe the message.
2024-05-18 13:48:50 +02:00