Commit Graph

8215 Commits

Author SHA1 Message Date
DrSmugleaf
e53f225a39 Move most rotting code to shared (#28050)
* Move most rotting code to shared

* Remove unused dependency
2024-05-15 17:45:50 -04:00
deltanedas
e37f95c24c biome flexibility changes (#28017)
make biome apply template on mapinit, add api for setting Enabled

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-14 23:27:25 -04:00
deltanedas
bad5367479 fire troll fix (#28034)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-14 16:47:00 -07:00
beck-thompson
550a3afc52 Fix incorrect message displaying when trying to remove stuck item from someones hand. (#28024)
* Fix

* Fixed the other spot!
2024-05-14 15:01:12 -04:00
deltanedas
4b2193a8a0 fix fire spread round removal (#27986)
* fix a resolve debug assert

* rewrite fire spread

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-13 17:49:44 -04:00
Brandon Li
bfed85aff2 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-13 17:46:16 -04:00
Leon Friedrich
1f03111ff8 Change some EntityQueryEnumerator to AllEntityQuery (#27969) 2024-05-13 15:11:49 +10:00
metalgearsloth
ce0a175c73 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-13 14:05:37 +10:00
Kara
993eef1e7c 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-12 20:34:52 -04:00
nikthechampiongr
c8b55e5e44 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-12 17:07:54 +02:00
no
37099e481e 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-12 10:35:30 -04:00
Kara
855234aa30 Resolve 'TransformComponent.MapPosition' is obsolete in content (#27939)
* Resolve `'TransformComponent.MapPosition' is obsolete: 'Use TransformSystem.GetMapCoordinates'` in content

* build?
2024-05-12 10:31:54 -04:00
ShadowCommander
8938e1d8b2 Replace AttachToGridOrMap with DropNextTo (#27950) 2024-05-12 10:30:17 -04:00
Kara
1596e04d0f 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-11 20:13:58 -07:00
Джексон Миссиссиппи
cf148288a0 Add an admin smite for making people slip really far (and localize the admin smites better) (#27246)
* Sliiiiiiiiiiiiiiiiiip

* what

* Localize!

* antiterminate
2024-05-11 22:01:58 -04:00
metalgearsloth
332f54a3ae 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-12 09:18:21 +10:00
keronshb
999d044139 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-11 19:06:49 -04:00
DrSmugleaf
8b88fe4bb7 Make projectiles not hit crit mobs unless clicked on (#27905) 2024-05-11 11:42:11 -04:00
icekot8
4e26be8617 revenant can no longer harvest souls while in solid objects (#27612)
meow
2024-05-11 11:04:17 -04:00
ShadowCommander
a985c5e83e 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-11 11:03:40 -04:00
Vasilis
b860774d7c 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-11 11:01:28 -04:00
DrSmugleaf
eed560bf3e Make FTL constants in ShuttleSystem into cvars (#27706)
* Make FTL constants in ShuttleSystem into cvars

* Fix tests
2024-05-11 00:00:15 -07:00
DrSmugleaf
9741fda672 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-10 20:04:01 -04:00
Ed
e522bbf90d 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-10 04:35:59 -07:00
Jajsha
00733d87d0 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-09 19:57:34 -07:00
Brandon Li
98b2a79e77 Reagent dispenser UI (#27831)
* 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;`
2024-05-09 19:37:03 -07:00
username
42571b12e9 Traitor objective issuers (#27855)
* the thing

* another one

---------

Co-authored-by: whateverusername0 <whateveremail>
2024-05-09 19:01:02 -07:00
Tayrtahn
0d0d46e01f Fix two issues with ReplacementAccentSystem (#27866) 2024-05-09 18:31:31 -07:00
DrSmugleaf
0e3a2b3ba1 Move id and health examinable to shared (#27867)
* Move id and health examinable to shared

* Make GetInfo public
2024-05-10 11:26:39 +10:00
metalgearsloth
4e3332636a Revert "Add auto map vote cvar" (#27869)
Revert "Add auto map vote cvar (#27496)"

This reverts commit fe35188e2c.
2024-05-10 11:25:37 +10:00
Mr. 27
fe5f4162ac Prevent non-inital infected from getting the succumb to zombie action (#27820)
* b

* Update ZombieRuleSystem.cs

* hi
2024-05-09 17:45:23 -04:00
deltanedas
cd92046966 make fire not burn through hardsuits (#27161)
* add FireProtection system and event

* minor optimisation + make flammable use fire protection event

* add fire protection values to some things, nerf firesuit heat resistance

* bruh

* unrevert laser nerfs, make elite hardsuit fully fireproof

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-09 00:12:48 -07:00
Killerqu00
7d918c95d0 Revolutionaries can now cuff command instead of killing/exiling them (#27627)
* command can now be restrained for revs victory

* headrevs still must be killed
2024-05-08 23:48:32 -07:00
deltanedas
b33730db22 malf killer 9000 (robotics console) (#24855)
* create devicenet frequencies

* create borg transponder and give it to all nt borgs

* add robotics console

* actually implement battery charge display + some fix

* tab

* real explosion

* little safer

* disable destroy button clientside too when on cooldown

* m

* how do i do this when i review things...

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

* webedit ops

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

* ui updates

* oracle java

* do a thing

* update ui when a borg times out

* maybe fix test

* add IsLocked to LockSystem

* make destroying gib the chassis again, so emagging isnt sus

* use locking

* require using alt click to unlock so normal click is open ui

* the

* use LogType.Action

* take this L

* pocket lint?

* sharer

* pro ops

* robor pushmarkup

* m

* update and make it not use prototype anymore

* frame0

* update yaml

* untroll

* bad

* h

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-05-08 23:36:07 -07:00
deltanedas
24ab5c0982 ninja criminal records hacking (#24982)
* more humour

* spotted a troll

* add TryFindObjective to MindSystem

* replace copypaste bool conditions with CodeCondition

* use CodeConditionSystem in ninja + add handling for criminal hack

* add criminal records hacking

* update objectives

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-08 23:35:11 -07:00
lzk
fe35188e2c Add auto map vote cvar (#27496)
* Add auto map vote cvar

* :trollface:
2024-05-08 23:33:08 -07:00
Tornado Tech
31491775e5 Added new HTN operations and preconditions (#27486)
* Added new HTN operations & preconditions

* Ok I forgot about partial

* Namespace pierce the skies

* Some fixes, debug and new operators

* Bruh git eat my files
2024-05-08 12:18:03 +03:00
Pieter-Jan Briers
9efe4dc701 Fix preferences sent to client not being sanitized (#27789)
Fucking whoops

In #27742 I made it so sanitization of character profiles was moved to be *after* database load. Except that means I moved it to be after the copy of all character profiles got sent to the client.

Move the sending to *also* be in that second load stage, and rename it. Fixes the issue.
2024-05-08 04:24:54 +02:00
deltanedas
d6d1c9ed8a make dragons breathe fire (#26746)
* add ActionGun system

* add RepeatingTrigger

* dragons breath projectile, repeatedly explodes

* give dragon fire breathing action, fireproof it

* oop

* oop 2

* prevent troll

* proper repeating thing

* pro

* webedit ops

* realops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-07 17:25:41 -07:00
deltanedas
262b9698cf make lube speed up lathes (#25515)
* add LatheGetSpeedEvent

* add LatheLube system

* make typical lathes accept lube

* spill

* :trollface:

* rework to generic ReagentSpeedSystem

* hyperlathe ops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-07 14:20:43 -04:00
Kara
09b5319270 Log event starts to admin alert chat (#27761) 2024-05-07 17:13:28 +02:00
metalgearsloth
1e30234539 Revert "Fix turned off thrusters consume power" (#27755)
Revert "Fix turned off thrusters consume power (#26690)"

This reverts commit 70959e7bb0.
2024-05-07 20:52:18 +10:00
ShadowCommander
b9906eb34c Make arguments and parameters wrap to one variable per line (#27766) 2024-05-07 20:50:22 +10:00
Pieter-Jan Briers
7a38b22ddb Fix preference loading bugs (#27742)
First bug: if an error occured during pref loading code, it would fail. If the person then readied up, it would likely cause the round to fail to start.

Why could they ready up? The code only checks that the prefs finished loading, not that they finished loading *successfully*. Whoops.

Anyways, now people get kicked if their prefs fail to load. And I improved the error handling.

Second bug: if a user disconnected while their prefs were loading, it would cause an exception. This exception would go unobserved on lobby servers or raise through gameticker on non-lobby servers.

This happened even on a live server once and then triggered the first bug, but idk how.

Fixed this by properly plumbing through cancellation into the preferences loading code. The stuff is now cancelled properly.

Third bug: if somebody has a loadout item with a playtime requirement active, load-time sanitization of player prefs could run into a race condition because the sanitization can happen *before* play time was loaded.

Fixed by moving pref sanitizations to a later stage in the load process.
2024-05-07 14:21:03 +10:00
Ed
cc9e40820f Night on Europa (#27731)
night
2024-05-06 20:02:22 -07:00
no
630a7a78ed Add ghost role raffles (#26629)
* Add ghost role raffles

* GRR: Fix dialogue sizing, fix merge

* GRR: Add raffle deciders (winner picker)

* GRR: Make settings prototype based with option to override

* GRR: Use Raffles folder and namespace

* GRR: DataFieldify and TimeSpanify

* GRR: Don't actually DataFieldify HashSet<ICommonSession>s

* GRR: add GetGhostRoleCount() + docs

* update engine on branch

* Ghost role raffles: docs, fix window size, cleanup, etc

* GRR: Admin UI

* GRR: Admin UI: Display initial/max/ext of selected raffle settings proto

* GRR: Make a ton of roles raffled
2024-05-06 18:48:16 -07:00
Jezithyr
6685146a1e Moved Serverside solution container code to shared (yes that includes ensureSolution!) (#27478)
* Added warning to tryGetSolution, moved SolutionContainer code to shared
- Added an optional warning (false by default) to print an error if a solution is missing when using tryGetSolution methods
- Moved ensuring solution containers to shared, left the old method stubs for compatability and marked them as obsolete.

* Update SharedSolutionContainerSystem.cs

* Update SharedSolutionContainerSystem.cs

* Update SolutionContainerSystem.cs

* Update SharedSolutionContainerSystem.cs

* Fixing ensuring chem solutions always returning false on client
- ensuring chem solutions will only return false on the client if it is waiting for a server solutionEntity to be synced

* Added concentration helpers

* fix whitespace
2024-05-06 17:27:36 -07:00
Kara
aaabd5e914 Fix TryFindRandomTile grid weighting (#27724) 2024-05-06 04:25:11 -07:00
Kara
8f4362df03 Event frequency balance pass (#27721)
balance
2024-05-06 03:10:12 -07:00
Kara
c1aae2398b Round event frequency simulation command (#27718) 2024-05-06 00:33:30 -07:00