Commit Graph

36 Commits

Author SHA1 Message Date
Joonas Rikkonen 88abbe28e3 Fixed entity IDs getting messed up and causing desync because of purchased items in multiplayer campaign. The server created cargo items first and then mission-related entities, while the clients only spawned mission entities and relied on the server to spawn the cargo, which caused mission entities to have wrong IDs. Closes #484 2018-07-17 12:50:04 +03:00
Joonas Rikkonen ceae0bf94e Fixed oddities in traitor ratio/assignment logic. The TraitorUseRatio setting is used to determine the number of traitors, the minimum number of traitors is 1 instead of 2, the host is taken into account when determining the number of traitors. Closes #477 2018-07-16 11:05:10 +03:00
juanjp600 f59db98188 Fixed case-sensitivity issues, part six quadrillion and one 2018-06-06 15:00:02 -03:00
juanjp600 e9374812a5 Fixed case-sensitivity issues, part six quadrillion 2018-06-06 14:59:32 -03:00
Joonas Rikkonen f931d81aed Mission refactoring (mission prefabs) and option to select which types of missions can be selected when mission type is set to random (TODO: a way to set the allowed types from the UI). 2018-05-17 23:45:29 +03:00
Joonas Rikkonen 10ce4bd20d Fixed messageboxes opened by the mp campaign setup UI not being shown until the UI is closed (e.g. shuttle & incompatible content package warnings), renamed MultiplayerCampaign -> MultiPlayerCampaign for consistency. See #315 2018-03-06 16:43:36 +02:00
Joonas Rikkonen 08ade1dc6f Fixed clients not being notified when a campaign is exited and a new one started, causing them to think they still have up-to-date save files for the new campaign and get kicked out due to desync as soon as a round starts. (See #315) 2018-03-06 14:18:37 +02:00
Joonas Rikkonen 4d55e2dd55 Move hard-coded gender pronouns from TextManager to Texts.xml 2017-12-28 21:47:29 +02:00
Joonas Rikkonen 3d73f28362 - TextManager automatically replaces "\n" strings with a newline.
- Removed instantiating traitor start popup from client-side TraitorManager (instead the client receives the start message from the server).
- GUIMessageBoxes don't leave unnecessary empty space for the header if the header text is empty.
- More hard-coded text removal.
2017-12-27 16:07:00 +02:00
Joonas Rikkonen 6e78e945a7 Minor code style nitpicking :) 2017-12-05 19:05:21 +02:00
Alex Noir 1e8c1f7f04 Fixed a NullReferenceException caused when you try to play a round with traitors enabled while there are not enough player characters. 2017-12-05 16:17:51 +03:00
Alex Noir 3b02f0c86a Seems like sending a long-winded copy-paste of the traitor greeting message to host when he's still in lobby causes an error: https://cdn.discordapp.com/attachments/386620407035330561/387295192946049025/unknown.png
This is mostly a bugfix
2017-12-05 00:20:36 +03:00
Alex Noir 94b2c4c9e7 Moved code around a bit, moved traitor greeting to Greet function in Traitor class 2017-12-04 20:03:29 +03:00
Alex Noir 63f8760b86 Added traitor code words
Fixed host never being traitor
2017-12-03 19:39:31 +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
Alex Noir 0740ca84bc Overhauled GetEndMessage() to also include detaining 2017-12-02 16:15:50 +03:00
Alex Noir 1394d15c29 fix start pop up saying the host is the target if host becomes traitor 2017-12-02 11:09:06 +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 1ff2054ca8 Converted the GetAttribute methods in the ToolBox class to extension methods 2017-10-04 18:38:40 +03:00
Joonas Rikkonen 04b0c63f30 Campaign mode can't be voted for. The host has to manually create/select the campaign save, so switching to the campaign mode when the host isn't present would cause problems. 2017-09-24 13:41:54 +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 e26600d088 Added MP campaign setup to the dedicated server & some console commands for managing the campaign 2017-09-17 20:03:18 +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 b292a301cf MP campaign additions/fixes:
- Store tab & cargo spawning
- Sub & shuttle lists and level seed box are disabled when a campaign is active.
- Campaign UI is recreated if a new campaign is started while another one is active.
2017-09-16 19:16:56 +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 3feee93c53 Campaign saving fixes 2017-09-03 13:08:10 +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 dc3b9baa0d Moved campaign UI logic from LobbyScreen to a separate class 2017-08-29 19:32:14 +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 64ad5e5003 Removed unnecessary using directives 2017-07-05 18:35:09 +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