Commit Graph

61 Commits

Author SHA1 Message Date
Pieter-Jan Briers
579ff6bb26 Use async DB queries. 2020-06-26 03:46:28 +02:00
DrSmugleaf
78085855db Fix a late joining client not knowing if the lobby has been paused (#1199)
* Fix client not knowing that the lobby is paused when joining after the pause

Also fixes a client thinking that a lobby is paused when joining a new one after leaving a previously paused one

* Add server announcement to delaying and pausing round start
2020-06-23 21:30:37 +02:00
metalgearsloth
b6966a9b7f Add inhands support for startingGear (#1166)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-21 22:37:03 +02:00
DrSmugleaf
d91a8c4925 Add delaystart and forcepreset commands (#1163)
* Add extendroundstart message to extend lobby start timer

* Rename StartExtend to DelayStart

* Fix delaystart amounts above 59 not working

* Change delaystart seconds type from int to uint

* Change delaystart wrong args amount message

* Add forcegamepreset command

* Rename forcegamepreset to forcepreset and merged start and forcestart preset methods

* Fix index out of bounds exception when forcing suspicion to start

* Change game preset to match regardless of casing

* Add forcepreset unknown preset message

* Add and move in lobby checks

* Remove testing changes

* Change delaystart to pause/resume the timer when no seconds are specified

* Change pause message

* Remove testing code

* Change 0 seconds to not be a valid amount of seconds

* Replace MsgTickerLobbyCountdown Seconds with DateTime instead of uint

* Add one entire dot

* Replace Math.Min + Math.Max with Math.Clamp

Co-authored-by: ComicIronic <comicironic@gmail.com>

Co-authored-by: ComicIronic <comicironic@gmail.com>
2020-06-21 22:05:47 +02:00
DrSmugleaf
ac19ad7eac Fix crash when the round restarts (#1161) 2020-06-21 17:28:43 +02:00
Pieter-Jan Briers
d724c56d38 Adds round metrics for prometheus. 2020-06-08 01:18:40 +02:00
Pieter-Jan Briers
19e58d4d0b Fix access not being set to ID cards at round start. 2020-06-06 21:59:52 +02:00
Víctor Aguilera Puerto
e1df008bce Add conditional spawning component (#1069)
* Add conditional spawning component

* Remove null checks

* Remove leftover return

* Properly spawn items when game rule gets added

* Fix duplicate uids in saltern

* GameRules returns IEnumerable using yield.
2020-06-05 19:42:43 +02:00
Pieter-Jan Briers
0f43e5e6ad Access refactor
Access is now done through a list of access lists, instead of the necessary/sufficient system that was extremely confusing.

Added a "deny" list so you can screw over sec.

Cleaned the API up so it all uses sets and such.

PDA now relays access read-only to fix edge cases.
2020-06-03 11:46:59 +02:00
FL-OZ
4c20a504a5 Add basic PDA/Syndicate Uplink. (#942)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-28 13:22:47 +02:00
Pieter-Jan Briers
195c16d800 Wire hacking is now fancy.
1. new UI
2. wires are correctly randomized.
3. wires layouts
are shared across machines in the same round.
2020-05-27 15:24:07 +02:00
Pieter-Jan Briers
65d46899c0 Switch to saltern.
It's not done yet.
2020-05-24 01:50:56 +02:00
Víctor Aguilera Puerto
5d7514674e Suspicion on the Space Station gamemode (#849) 2020-05-03 11:25:39 +02:00
Pieter-Jan Briers
c4f147bab4 Store original character name in mind. 2020-04-18 00:38:19 +02:00
zumorica
01e8e4784b Joining round as observer greys out return to body button 2020-04-17 19:16:42 +02:00
zumorica
73d754e2d2 Observers now get correct name on observe from lobby 2020-04-17 18:51:51 +02:00
Pieter-Jan Briers
478fd35502 Merge pull request #802 from FL-OZ/round_end_screen 2020-04-16 22:33:38 +02:00
Pieter-Jan Briers
a1c9ea8bbd GameTicker watchdog update integration. 2020-04-16 21:24:43 +02:00
scuffedjays
43b27e93bc Fix the duration timing again. 2020-04-16 13:07:58 -05:00
scuffedjays
7ae8f8429d Fixed calculation of round duration 2020-04-15 17:46:53 -05:00
FL-OZ
e5847910c7 Merge branch 'master' into round_end_screen 2020-04-15 14:00:56 -05:00
scuffedjays
1605a50098 Changed duration to use TimeSpan.
Using actual round realtime span to determine round length.
2020-04-14 23:26:37 -05:00
Pieter-Jan Briers
dc9f8d551b Merge pull request #805 from Zumorica/2020-04-09-comms-console-roundend
Adds working communications console that ends the round
2020-04-10 17:02:49 +02:00
scuffedjays
3ce50879b7 New struct for basic round end info per player. 2020-04-10 01:37:14 -05:00
zumorica
64eafde0c3 Adds working communications console that ends the round 2020-04-09 00:28:56 +02:00
scuffedjays
02f9c5259c Add foundation for Round End Summary Screen.
Adjust GamePreset class, added title alongside description.
2020-04-08 06:07:54 -05:00
zumorica
7f19381bec Ghost command, some other stuff 2020-03-03 20:37:26 +01:00
Pieter-Jan Briers
58ab7631c2 Give every job their fancy ID types. 2020-02-24 16:58:25 +01:00
Pieter-Jan Briers
913b4d97a1 Allow more lobby parameters to be configured. 2020-02-08 21:23:37 +01:00
Acruid
a86363a6d2 API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Víctor Aguilera Puerto
09a27df6db Makes players spawn on job spawn markers on roundstart (#543)
* Adds job type to spawn points, makes players spawn on job spawn markers on roundstart

* Update Content.Server/GameObjects/Components/Markers/SpawnPointComponent.cs

Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-01-23 17:31:47 +01:00
Pieter-Jan Briers
73693b88f6 Don't accidentally commit your testing cvar change. 2020-01-20 18:48:54 +01:00
Pieter-Jan Briers
425b85d5a7 Fix spawning of non-clothing items via starting gear. 2020-01-20 10:30:07 +01:00
Pieter-Jan Briers
75aa9541e0 Equip clothing to preview dummies in the lobby. 2020-01-20 10:30:06 +01:00
Acruid
7c562af0aa Nullspace map entity is created every time the client joins the server. This fixes #520. 2020-01-20 00:36:34 -08:00
Pieter-Jan Briers
aaf0b7a645 Game ticker now has a job assignment system. 2020-01-19 19:08:35 +01:00
DamianX
a4e369e629 added Character Setup (#511)
* added Character Setup

* whoops

* reverted unrelated changes

* Made everything work post-rebase

* Removed unused PreferencesChanged event

* nope, don't need this

* HumanoidProfileEditorPanel -> HumanoidProfileEditor

* Set initial data for hair pickers

* Fixed nullable warning

* Renamed LooksComponent -> HumanoidAppearanceComponent

* Renamed LooksComponentState -> HumanoidAppearanceComponentState

* Final renaming maybe

* Use a human-like dummy instead of a real human

* Change preferences structs back to classes
2020-01-18 01:54:13 +01:00
DamianX
f19795edaf Added preferences backend (#465)
* Added preferences backend

* Gender -> Sex

* ClientPreferencesManager properties

* Username validation

* Fixed client init

* WIP db

* Actually working sqlite db

* Dropped shitty sqlite libraries, dropped DbUp, added MigrationManager

* Added profile deletion, test

* Docs, sanity, tests, cleanup

* Cleaned up profile and appearance, fixed running on .net core

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2019-12-22 13:47:34 +01:00
Acruid
1fe09c580c Entities now require a location when being spawned. 2019-12-16 21:44:24 -08:00
Acruid
d549c44f95 Shared IMap/Map class removal (#467)
* Fully removed the Map and IMap class.

* Submodule update to sibling engine commit.
2019-11-26 23:16:36 +01:00
ZelteHonor
447db2e458 Basis for the job system (#434)
* Add basic yaml Jobs file

* Add Job Prototype

* Rename Jobs to Job

* Remove BaseJob

* Add the Job class child of Role

* Add code for spawning as an assistant. Not actually working, the job prototype can't be found.

* Fix role instead of job left in yaml

* Add starting gear support for job and the starting gear for assistant as an exemple

* Link job with starting gear in yaml

* Better naming and some error handling

* Tweak error handling
2019-11-17 17:18:39 +01:00
metalgearsloth
63611cef80 Port Discordia shoes (#422)
Where no icon was found used the equipped sprites
Also updated the vending machine prototypes but more items will need adding in the future.
2019-11-09 12:09:42 +01:00
Pieter-Jan Briers
19379decd5 Fancy up the lobby GUI. 2019-10-18 14:28:39 +02:00
Pieter-Jan Briers
6f704f0320 Move gameticker commands to another file. 2019-10-18 14:25:55 +02:00
Pieter-Jan Briers
a2d8fc1ef9 Sandbox panel 2019-10-02 21:47:32 +02:00
Acruid
ea58ebed50 If the player mob does not have an InventoryComponent, don't spawn the default inventory items. Previously the items were blindly spawned in, and if they were not able to be equipped to the player, ended up at the map origin. 2019-09-09 10:52:45 -07:00
DamianX
4dcbf28714 IoC'd random (#302)
* Implemented RobustRandom

* update submodule

* update submodule

* Fix benchmark
2019-08-17 12:09:09 -07:00
Pieter-Jan Briers
8cb3b9b2e6 Make respawn command work without argument. 2019-07-19 12:40:03 +02:00
Pieter-Jan Briers
22c5b6eb31 Better join chat messages. 2019-07-19 01:21:09 +02:00
Pieter-Jan Briers
558f6ab8a5 Removal of TrySpawn* methods, update submodule. 2019-07-07 22:24:44 +02:00