Commit Graph

431 Commits

Author SHA1 Message Date
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 8e8b8464af All items and structures have to define a sourcerect for the sprite because otherwise the dedicated server won't know the size of the entity. Closes #321 2018-03-06 13:55:30 +02:00
Joonas Rikkonen 0ab4521a7a Fixed monsters being able to spawn under the ocean floor. Closes #319 2018-03-06 12:13:08 +02:00
Joonas Rikkonen f5af432ad9 Fixed item tags & aliases not being taken into account when determining target validity in StatusEffect.Apply. Closes #316 2018-03-06 11:25:25 +02:00
Joonas Rikkonen a57bec2a27 Made statuseffects stackable by default, fixed statuseffects only being considered the same if they're caused by the same item, applying the same non-stackable statuseffect again refreshes the timer of the existing statuseffect. Closes #309 2018-03-05 16:59:23 +02:00
Joonas Rikkonen 6ddcd65f18 RepairTools can do damage to characters by hitting the collider. Closes #299 2018-03-05 12:34:21 +02:00
Joonas Rikkonen 4e048b7895 Items removed due to the "DeleteOnUse" property are removed using EntitySpawner, removing an item removes it from the selected items of all characters. Closes #306 2018-03-05 12:13:52 +02:00
Joonas Rikkonen e15fad6986 Relay fix attempt number n + 2 2018-03-02 21:51:39 +02:00
Joonas Rikkonen c624ff2c8c Hopefully fixed clients forcing other players to pick items when the clients actually selected them (e29655c) without breaking AI interactions with items 2018-03-02 18:04:01 +02:00
Joonas Rikkonen 199794cf41 Fixed exceptions when trying to save an itemcomponent that has been instantiated by calling the constructor directly (e.g. lightcomponents in wearables) 2018-03-02 17:46:48 +02:00
Joonas Rikkonen b49f47d3d9 Ladder waypoint generation fix: waypoints are not just placed at the top and bottom of the ladders (and at hatches on the ladders), but above every platform along the ladders (-> waypoints work correctly on ladders spanning through multiple floors). + Some ladder climbing fixes in IndoorsSteeringManager. 2018-03-02 17:45:13 +02:00
Joonas Rikkonen 07d3d69040 Equipped items can be swapped by double-clicking, fixed inventories getting messed up when swapping multi-slot items fails (e.g. drag a jumpsuit on an equipped diving suit). 2018-03-02 15:24:54 +02:00
Joonas Rikkonen f1f190a997 Added a light to diving suits (requires a battery to work). Closes #233 2018-03-02 13:11:28 +02:00
Joonas Rikkonen 12d1692bb5 Wearables can attach lightsources to limbs 2018-03-02 11:13:11 +02:00
Joonas Rikkonen 10189254b5 GrabLimb type is written in character network messages as byte instead of UInt16 2018-03-01 23:43:10 +02:00
Joonas Rikkonen 31ba9e20a2 Item description & tags are only included in spawn network message if they differ from the prefab. 2018-03-01 22:07:51 +02:00
Joonas Rikkonen 2b4c01d18b Fixed debug assertion fail in World.Raycast if a limb is (almost) exactly at the position of a character's collider when calling TrySetLimbPosition. 2018-03-01 22:07:18 +02:00
Joonas Rikkonen cd6fc87eb4 Fixed object header issues and "trying to read past the buffer size" errors caused by NetEntityEvents for removed entities.
EntityEventManager sends an empty event with an ID of 0 if the entity doesn't exist anymore when writing the event. The recipient should simply skip over these messages and read the next one, but clients only did so if the event is the next unreceived one, causing the rest of the messages to be read incorrectly (which could lead to various sorts of problems in addition to the header and buffer size errors). The server didn't deal with the empty events correctly either, it increased the last received ID even if the received event was not the one the server is waiting for, potentially causing other non-empty events to be ignored.

+ Added an error message if the size of an NetEntityEvent is larger than 255 bytes. Not only is that excessively large for an event, but the length of the event is written as a byte and larger ones may again cause messages to be read incorrectly. Most events should be nowhere near 255 bytes, but now that the descriptions and tags of a spawned item are included in the item spawn messages there's the possibility that some events are too large.
2018-03-01 19:30:27 +02:00
Joonas Rikkonen 1255b21853 Relay fix attempt number n + 1 2018-03-01 15:56:03 +02:00
Joonas Rikkonen ab99aa9ac1 Relay fix attempt number n 2018-03-01 12:40:38 +02:00
Joonas Rikkonen 55a5e9e968 Syringes are recolored according to the color of the contained medical item. Closes #256 2018-03-01 11:26:04 +02:00
Joonas Rikkonen 9f6868eaaa Fixed crashing when attempting to perform CPR _as_ a headless character. 2018-03-01 10:17:32 +02:00
Joonas Rikkonen 38e80be05d Some more debug logging 2018-02-28 18:04:40 +02:00
Joonas Rikkonen c803e23c50 Added checks for character removal to a bunch of places. Some of these may not necessary, but at least MeleeWeapon, Projectile and Controller still accessed the user after the user had been removed. 2018-02-28 17:37:20 +02:00
Joonas Rikkonen e29655c81b Fixed clients forcing remote players to pick an item when it's being selected, causing them to press buttons and start deattaching them when the player is actually just rewiring the button. Closes #251 2018-02-28 15:38:55 +02:00
Joonas Rikkonen f5277ce661 Fixed clients being unable to crowbar doors due to OnPicked only being called on local players. Closes #297 2018-02-28 15:24:42 +02:00
Joonas Rikkonen 74ef5c6ea6 Fixed items attached mid-round by other clients or the host being impossible to interact with and occasionally being attached to an incorrect position. Closes #296 2018-02-28 14:01:38 +02:00
Joonas Rikkonen 2585cc9873 Fixed attachable objects being deattachable with the select key due to e6b7a0d3, fixed typo in ConvertInputType 2018-02-28 13:26:18 +02:00
Joonas Rikkonen 795b2e4cad Fixed crashing when attempting to perform CPR on a character with no head. Closes #294 2018-02-27 15:01:53 +02:00
Joonas Rikkonen 77940fa992 Added some debug logging, Character.Revive removes the existing AITarget from the character before creating a new one 2018-02-26 18:05:03 +02:00
Joonas Rikkonen 1c68d5a4d7 - Fixed clients using character directories to count the number of disallowed monsters, which made it possible for them to disallow incorrect monsters.
- Fixed MonsterEvent checking if the name of the character directory contains the name of the disallowed character directory, which could for example cause them to disallow "someMonsterAlt" if "someMonster" is disallowed.
2018-02-26 16:53:22 +02:00
Joonas Rikkonen 7f740c2f67 Attempt to diagnose issues #278, #284 and #291. It appears that the game attempts to access the Limbs-field of a ragdoll after it's been set to null (which should only happen when the ragdoll is removed). 2018-02-26 15:06:00 +02:00
Joonas Rikkonen 064750d99f Fixed missing RepairTool HitStructure particles & missing ancient weapon beam (+ added hit particles to ancient weapon). Closes #285 2018-02-25 22:43:06 +02:00
Joonas Rikkonen 0827c475ba Fixed "an item with the same key has already been added" exceptions caused by humanhusk.xml being in the same folder as human.xml. Closes #283 2018-02-25 18:35:31 +02:00
Joonas Rikkonen 9df0f0a275 Invalid contentpackage content types don't crash the game 2018-02-25 17:46:04 +02:00
Joonas Rikkonen 9e2966e9cb - Fixed creature disable list only taking config files in the Content/Characters folder into account (making it impossible to disable spawning of custom monsters outside the folder)
- Removed hard-coded ruin structure, particle & decal config paths and moved them to content package (custom ones can be added now without modifying the original files).
2018-02-25 15:03:29 +02:00
Joonas Rikkonen e02a1dc6ae Reverted the changes to power transfer logic in bb987676 because of the issues it caused with relay components. Signals are still passed using the cached recipient lists, but power is passed using the old recursive CheckJunctions method. Closes #282 2018-02-25 14:42:38 +02:00
Joonas Rikkonen 6fcf2f573b Fixed relays burning out when connected to the main power grid. The changes in bb98767 caused relay components to be considered parts of whichever power grid they're connected to, causing their power and load to match the rest of the grid which usually causes them to go over the max power value. Closes #279
+ Fixed "powerConnections" field not being updated when creating PowerTransfer components mid-round, which made fabricated relays unusable for power transfer.
2018-02-24 20:46:28 +02:00
Joonas Rikkonen 127cc28af3 SoundPlayer.GetSound doesn't attempt to load the sound if a sound with a matching tag is not found, because otherwise configuring limb hit sounds and such with the file path instead of the tag will cause a new sound instance to be created every time the sound is played (and these instances are never freed). + Sound config files can be now configured in content packages. 2018-02-24 19:41:28 +02:00
Joonas Rikkonen 313fb35b4a Reverted d36dab4 (XML files are calculated according to XML content). Caused content package hashes to differ between linux and windows versions. Closes #275 2018-02-24 18:39:47 +02:00
Joonas Rikkonen f2f37b020e Applied fire extinguisher changes from the command-improvement branch: the repair tool steps through the ray that's used to find firesources in range and collects all firesources along the way instead of just checking the start and end positions of the ray (-> fires are much easier to extinguish now). Closes #274 2018-02-24 17:28:52 +02:00
juanjp600 351a1a15fc Fixed stack overflow when trying to store jumpsuits in themselves 2018-02-23 00:19:36 -03:00
Joonas Rikkonen 05408d5ec0 Fixed some items with a body disappearing when flipping a sub. Closes #273 2018-02-22 17:43:40 +02:00
Joonas Rikkonen 671f59e984 Unequipped headsets can't be used and don't consume batteries. Closes #272 2018-02-22 15:08:38 +02:00
Joonas Rikkonen 1fe2a1916f Fixed ruin doors being possible to open with the select key. Closes #268 2018-02-22 14:36:48 +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 27ded3e5a3 Fixed dead/spectator chat. Closes #264 2018-02-22 11:34:33 +02:00
Joonas Rikkonen 23b59dd70b Reverted a290a6a (chatbox can be deselected with the chat hotkey again). Closes #262. 2018-02-22 11:19:53 +02:00
Joonas Rikkonen d87c6bd06a Fixed exceptions when creating items with a powertransfer component mid-round (e.g. when fabricating a relay component). Closes #267 2018-02-22 11:11:08 +02:00
Joonas Rikkonen e991967830 DefaultPlayerName never returns null 2018-02-22 10:41:49 +02:00