Commit Graph

55 Commits

Author SHA1 Message Date
itchyOwl 5d2a193471 Line endings. 2018-09-03 10:23:36 +03:00
Joonas Rikkonen 565f14801b Normalized line endings to CRLF 2018-09-02 19:25:48 +03:00
Joonas Rikkonen 5100956bae Levels are mirrored when traveling backwards through a connection in the campaign mode. Closes #519 2018-08-08 15:30:32 +03:00
Joonas Rikkonen 01e97fe4bd Fixed crashing if the server attempts to spawn extra cargo that doesn't spawn in a container. 2018-07-24 19:10:18 +03:00
Joonas Rikkonen df720b67ba Fixed clients getting desynced if cargomanager spawns extra containers due to running out of space. 2018-07-24 19:02:56 +03:00
ursinewalrus c28fd336c9 If you buy more than a full box worth of stuff at the store instead of not letting you start the mission it will put the extra stuff in extra boxes for you 2018-07-23 21:32:01 -05:00
ursinewalrus 4e3d375ae5 game will now launch on overbuy and extra items will be present on floor, however a GUI error will be generated on match start 2018-07-23 18:57:29 -05:00
Nilanth Animosus cac1c48aa3 Redesigned campaign buymenu to use a quantity field
Additionally sorts the bought items by name then type to attempt to mirror the tabs (Not perfect)
2018-07-20 18:01:38 +01:00
Joonas Rikkonen a61ac1716d Sending level seed & level gen errors to GameAnalytics 2018-07-20 14:17:59 +03:00
Joonas Rikkonen 07de2b2a0f Fixed previous items not being cleared from multiplayer campaign UI after a round ends. Closes #505 2018-07-20 13:50:04 +03:00
Joonas Rikkonen 49c6b177e3 Added wrapper methods that check if user statistics are enabled to GameAnalyticsManager 2018-07-20 12:05:13 +03:00
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
Joonas Rikkonen 015eacbcb0 Fixed GameAnalytics thread becoming active despite user statistics being disabled, causing the game to stay active in the background when quitting. 2018-07-13 11:29:11 +03:00
Joonas Rikkonen c7e220d222 Collecting some more usage statistics: selected game mode, mission, submarine, content package, traitors on/off, kills 2018-07-10 15:49:08 +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 375e135672 Made round summary scrollable (long summary texts don't overflow anymore), listbox scissorrects work correctly now on nested listboxes 2018-02-22 12:18:09 +02:00
Joonas Rikkonen 9f58d1b74d Cargo items can be set to spawn inside specific types of containers instead of being scattered on the cargo room floor. 2018-01-10 15:56:11 +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 2894b74edc Started moving hard-coded texts to a separate xml file (Content/Texts.xml) to make modding and translating the game easier (see #80). Also Renamed InfoTextManager as TextManager. 2017-12-26 23:51:18 +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 57667b3169 Fixed removed (e.g. eaten) characters not appearing in the round summary, but still spawning during the next round 2017-10-05 21:18:01 +03: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