Commit Graph

34 Commits

Author SHA1 Message Date
Joonas Rikkonen 90986751c3 Merge branch 'antagonists' 2017-12-05 19:05:39 +02:00
juanjp600 c6ca3572ba Added an option to respawn directly in the main sub 2017-12-05 03:03:37 -03:00
juanjp600 a0782e5d8d Blowing up the reactor sets karma to 0, all jobs except assistant require a certain karma level 2017-12-04 17:05:22 -03:00
Alex Noir ca535d295f Merge remote-tracking branch 'origin/master' into antagonists 2017-12-03 13:10:04 +03:00
Alex Noir 56df7b6900 Support for multi-traitors!
It's possible for traitors to share targets and/or target each other.
Todo: code phrases-responses, clientside settings for traitor amount
2017-12-03 00:43:14 +03:00
Joonas Rikkonen ccac8de723 Removed unused NetConfig constants and leftover debug code in GameServer 2017-12-02 15:42:52 +02:00
juanjp600 84ba36aa78 Added timestep accumulator to dedicated server, improved autorestart commands, added client permission commands 2017-12-01 14:25:10 -03:00
Joonas Rikkonen 1c09f757a2 Renaming fields in the Client class for consistency 2017-11-23 20:43:22 +02:00
Joonas Rikkonen 4689bec441 Clients send the latest received campaign ID to the server when in the lobby instead of requesting it once with a reliable message. -> Now the server reattempts sending the save file if the transfer fails at either end. 2017-11-23 20:16:47 +02:00
Joonas Rikkonen fce7d43ef3 Fixed characters not appearing in the round summary in mp, minor CrewManager refactoring 2017-11-20 20:46:54 +02:00
Joonas Rikkonen 04e3710a65 Renaming fields for consistency 2017-11-14 22:45:22 +02:00
Joonas Rikkonen f127c410b0 Option for clients to spectate the game without respawning 2017-09-25 21:31:21 +03:00
Joonas Rikkonen 5eb1544f1e Clients can be given a permission to select the sub or the game mode 2017-09-24 17:11:10 +03:00
Joonas Rikkonen 5a4bc0242d Voting UI fixes:
- The vote count texts are removed when voting is disabled.
- Server sends vote status to joining clients (-> clients see the number of votes immediately, not after someone votes something).
- Server refreshes vote count texts when a client disconnects.
2017-09-21 20:37:30 +03:00
Joonas Rikkonen f291a22976 - Autorestart works in campaign mode.
- The server select a random destination when the campaign starts and after each round, so the campaign can be played even if there's no host/client to choose the destinations. (TODO: make it possible to vote for the destination?)
- Reverting to the previous save if the entire crew is dead works correctly now.
- Clients load the campaign saves after receiving them (-> discovered locations/connections are synced with clients).
2017-09-19 22:05:42 +03:00
Joonas Rikkonen 9114ae658f - Modified item buying logic: selected items are purchased immediately without having to click the "buy" button, and they stay in the list of purchased items until the round is started. (-> It's possible to see which items have been purchased and cancel purchases).
- Clients can be given a permission to manage the campaign (atm selecting which location to head towards and buying items).
- Syncing cargomanager state with clients.
- Misc fixes.
2017-09-17 15:55:24 +03:00
Joonas Rikkonen 348d81a66f MP campaign fixes 2017-09-13 20:34:10 +03:00
Joonas Rikkonen 63bca3c7ea Syncing campaign state & save files with clients (WIP) 2017-09-11 21:32:48 +03:00
Joonas Rikkonen c1f5e3cbda Progress on multiplayer campaign:
- Moved SaveUtils to the shared project.
- Moved the "new game"/"load game" menu logic to a separate class.
- Somewhat functional campaign UI in the server lobby (only the map view is usable atm though).
2017-08-31 18:53:37 +03:00
Joonas Rikkonen a75fd12020 Started moving single player campaign logic to an abstract CampaignMode class to make it reusable in the eventual multiplayer campaign 2017-08-28 20:19:21 +03:00
Joonas Rikkonen 729108c7b9 Replaced usages of "shift" with "round" for consistency 2017-08-28 17:59:08 +03:00
Joonas Rikkonen 9c039e7574 Fixed exceptions during job assignment if a client or the host is controlling a character with no CharacterInfo (i.e. any non-human character) 2017-08-01 21:29:55 +03:00
Joonas Rikkonen 1e11d5ab28 Fixed server failing to assign jobs to all clients on some modded servers: if the max amount of players per job had been reached on all the jobs the client has in their preferences, the client would not get a job at all (causing crashes later on when trying to access the client's job). Now the server assigns a random job if none of the preferred jobs are available.
+ Fix for exceptions in Client constructor if there are less than 3 job prefabs.
2017-08-01 19:46:24 +03:00
Joonas Rikkonen 6faf658ae0 Fixed SetClientCharacter & Revive 2017-07-26 17:19:35 +03:00
Joonas Rikkonen aaea8bc709 Dedicated servers can use autorestart 2017-07-24 21:21:00 +03:00
Joonas Rikkonen ce3a8df9e0 - Fixed some properties in GameServerSettings not being saved due to being private.
- Fixed serversettings.xml overriding the settings entered in the "host server" menu in the client project.
- Added a default serversettings.xml file.

TODO: either add an error/warning of some sort if trying to use any of the ObjectProperty attributes on a non-public property or make ObjectProperty compatible with private properties. + Refactor Properties.cs, class/method naming in particular.
2017-07-20 21:47:47 +03:00
Joonas Rikkonen af1a681da0 Fixed far-away AI characters staying disabled when switching control to them + minor optimization 2017-07-11 20:03:42 +03:00
Joonas Rikkonen 64ad5e5003 Removed unnecessary using directives 2017-07-05 18:35:09 +03:00
Joonas Rikkonen 0d7851367b Dedicated server loads the name, password and other initial settings from the serversettings file. + Fixed not being able to change the server name if the current name is null or empty 2017-07-03 18:44:06 +03:00
Joonas Rikkonen 8ae2fb225c - Ban duration can be set in the UI prompt.
- Ban reasons & durations are listed in the banlist menu.
- Clients tell the server the reason when kicking/banning another client.
- Added GUINumberInput GUIComponent.
- Ban duration saving/loading fixes.
2017-07-02 21:36:17 +03:00
Joonas Rikkonen df0bdb64d6 - Ban durations (TODO: add a way to set and view the durations through the menus).
- Separated ban & kick methods.
- Fixed compilation errors in DebugConsole when building the server.
2017-07-02 18:58:07 +03:00
Joonas Rikkonen da71b6bf9c Option to supply a reason for banning/kicking, logic for handling question prompts in the debug console 2017-07-02 15:25:55 +03:00
Joonas Rikkonen e15f5a881b Merge branch 'dedicated-server' (TODO: make sure I didn't break anything)
Conflicts:
	Barotrauma/Barotrauma.csproj
	Barotrauma/BarotraumaShared/Source/Characters/AI/AIController.cs
	Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs
	Barotrauma/BarotraumaShared/Source/Characters/AICharacter.cs
	Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs
	Barotrauma/BarotraumaShared/Source/Characters/Attack.cs
	Barotrauma/BarotraumaShared/Source/Characters/Character.cs
	Barotrauma/BarotraumaShared/Source/Characters/CharacterNetworking.cs
	Barotrauma/BarotraumaShared/Source/Characters/Limb.cs
	Barotrauma/BarotraumaShared/Source/Events/MonsterEvent.cs
	Barotrauma/BarotraumaShared/Source/Map/Explosion.cs
2017-06-30 21:02:52 +03:00
juanjp600 4d225c65f2 Updated to MonoGame 3.6 + Directory refactor
- Barotrauma's projects are in the Barotrauma directory
- All libraries are in the Libraries directory
- MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?)
- NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred
- Removed Content/effects.mgfx as it didn't seem to be used anywhere
- Removed some references to Subsurface directory
- Renamed Launcher2 to Launcher
2017-06-27 09:52:57 -03:00