33d971f5d0
Fixed OnBroken & OnImpact statuseffects not being applied client-side
Joonas Rikkonen
2018-10-29 20:38:43 +02:00
224e9238db
EntityEvents are written and sent even if the entity has been removed at the time of writing. Otherwise the clients may not receive some important events, e.g. when an item applies a statuseffect to something or triggers an explosion and is removed immediately afterwards. I'm not 100% confident that this won't cause any additional issues, so it still needs more testing. See #839
Joonas Rikkonen
2018-10-29 20:37:25 +02:00
9d92b696f0
Fixed clients getting kicked if they receive an entity event that's more recent than the one they're expecting. This happens often even when there's no actual error, for example if the client happens to receive messages in an incorrect order (the messages are sent using the Unreliable delivery method). Instead of getting themselves kicked, the clients should just ignore the event and wait until they receive the correct one.
Joonas Rikkonen
2018-10-28 21:12:30 +02:00
ef9afedf42
Added a level equality check to client error handling to make it easier to diagnose bugs like #848 in the future.
Joonas Rikkonen
2018-10-18 00:18:57 +03:00
2b1dacbf2f
The ActionType of an Attack's statuseffect is considered "OnEating" instead of "OnUse" if the target is dead. Prevents husks from gaining health by attacking corpses (which allowed players to huskify themselves on purpose and stay alive indefinitely).
Joonas Rikkonen
2018-10-08 11:23:52 +03:00
fec7740378
Fixed a bunch of bugs when dragging characters up ladders (see e0504042). The dragging logic didn't take into account that the characters are not necessarily in the same sub, which caused the dragged character to launch away at a high speed when climbing from a sub to another (for example when climbing down to the shuttle in Aegir). The pull joint on the target's torso was never disabled, so the character stayed floating mid-air after getting off the ladders.
Joonas Rikkonen
2018-09-24 21:19:18 +03:00
bff2852cb6
Fixed submarine waypoints getting mirrored in mirrored levels (cherry-picked from c785732)
Joonas Rikkonen
2018-09-21 14:03:49 +03:00
c4c18fbfd7
Fixed main path waypoints not getting mirrored in mirrored levels (cherry-picked from 295fc31).
Joonas Rikkonen
2018-09-21 12:43:41 +03:00
e578cbc077
Explosions now use Character.Controlled.WorldPosition to determine camera shake
juanjp600
2018-09-19 14:57:22 -03:00
ad6e48784e
Delete Thumbs.db
Blue
2018-09-14 17:18:29 +02:00
50bed0f1ca
Changed oxygenite tank's sprite to make it more noticeable
Blue
2018-09-14 17:10:47 +02:00
6e6a6c8d56
Oxygenite Tank tag changed
Blue
2018-09-14 16:30:15 +02:00
33ed7eb390
Merge pull request #4 from Regalis11/master
Blue
2018-09-14 16:08:54 +02:00
bf87006bc3
Attempt to fix items dropping client-side when moving them from inventory another (#558).
Joonas Rikkonen
2018-09-12 15:22:52 +03:00
a403ca44c5
Fixed inventory sync delay being decremented in two places, causing the delay to be 0.5 seconds instead of the intended 1 s. Closes#788
Joonas Rikkonen
2018-09-12 11:43:57 +03:00
ae70b973dd
Changed TextureLoader.PreMultiplyAlpha return type to void
juanjp600
2018-09-10 18:09:26 -03:00
571ed150fe
Ragdolls can't be dragged through walls or other colliders. Closes#772
Joonas Rikkonen
2018-09-10 16:14:44 +03:00
34c721bf89
Hitscan weapons can hit targets outside the sub when firing from the inside and vice versa. Closes#639
Joonas Rikkonen
2018-09-10 13:56:53 +03:00
57c9e5a731
Fixed IndexOutOfRange exceptions when cloning items with requiredItems that aren't present in the xml, + some more exception handling & error logging
Joonas Rikkonen
2018-09-10 12:06:39 +03:00
2b3c0d103b
Fixed NotImplementedException when attempting to clone linked submarines
Joonas Rikkonen
2018-09-10 11:40:06 +03:00
8e7cd8e5f3
Added space and exclamation point to default AllowedClientNameChars
Juan Pablo Arce
2018-09-09 01:02:54 -03:00
6e606fdc51
Fixed incorrect rotation of welding tools and other 2-handed items that are held in one hand when not aiming. The items were rotated according to the left hand, but positioned on the right hand.
Joonas Rikkonen
2018-09-03 15:15:27 +03:00
5d2a193471
Line endings.
itchyOwl
2018-09-03 10:23:36 +03:00
87002f8e00
Added a gitattributes file that defines CRLF as the line ending for code files (cherry-picked from 1ebfc9e)
Joonas Rikkonen
2018-08-30 13:55:22 +03:00
565f14801b
Normalized line endings to CRLF
Joonas Rikkonen
2018-09-02 19:25:48 +03:00
bc7eb21365
Fixed railguns being impossible to rewire because of the collider
Joonas Rikkonen
2018-08-30 11:32:02 +03:00
2b18a1265a
Fixed railguns and depth charge tubes being directly usable by characters (= they could be launched simply by selecting them and left clicking, without the need to use a railgun controller). Closes#754
Joonas Rikkonen
2018-08-30 10:42:25 +03:00
105461beb3
Fixed LightComponents staying active on broken items. Closes#759
Joonas Rikkonen
2018-08-29 16:45:35 +03:00
7eed555522
Another docking port fix: EntityGrids are made slightly larger than the borders of the submarine, because docking ports may create gaps and hulls outside the borders, causing FindHull to fail and characters to get teleported outside the sub when from sub to another. Closes#551, hopefully for good now!
Joonas Rikkonen
2018-08-29 14:50:44 +03:00
8d83580b75
Docking port fixes again. Closes#551 - Non-saveable entities aren't removed from the linkedTo-list during saving, because that causes gaps to become unlinked with the hulls between docking ports when starting a campaign round. - Hull rechecks are disabled on docking port gaps, because moving linked subs into place may cause the gaps to become unlinked if they're positioned in a certain way (for example in some subs the hulls between the docking ports end up inside the gap). - Dockingports only connect the waypoints linked to their gap to each other, instead of every waypoint that happens to be inside the gap.
Joonas Rikkonen
2018-08-29 13:38:56 +03:00
48e14347a3
Fixed projectiles colliding with railguns due to 1e02d74
Joonas Rikkonen
2018-08-24 14:18:51 +03:00
afc2e63b55
Client-side door state prediction fix: the clients wouldn't set the door to the correct state if the predicted state was the same as the door's previous known correct state, even if the latest state sent by the server was different (= a convoluted way of saying that door syncing works correctly now with complex door setups like the ones in SS Odyssey, see #579).
Joonas Rikkonen
2018-08-23 14:57:13 +03:00
6cb2a7260c
Clients dispose fileTransfers when shutting down (otherwise the files will stay open and cause "used by another process" exceptions when attempting to receive them again)
Joonas Rikkonen
2018-08-21 16:43:05 +03:00
f09fcfc3be
Fabricators show the list of required items even if the character doesn't have the skills to craft the item. Closes#717
Joonas Rikkonen
2018-08-20 21:19:18 +03:00
012245fbaa
Items outside the sub cannot be deattached. Closes#562
Joonas Rikkonen
2018-08-20 20:42:57 +03:00
898e8dfdb1
Added a property for locking connection panels (better than the old hacky way of changing the required item to something else). Locked panels can still be rewired in the sub editor. Closes#679
Joonas Rikkonen
2018-08-20 20:12:33 +03:00
3747852c13
Removed the Entity.MoveWithLevel property, fixed artifacts and other items from ruins not being saved. Closes#694
Joonas Rikkonen
2018-08-20 16:23:40 +03:00
2f6cb84b5e
Added workaround to tabbing out breaking fullscreen
juanjp600
2018-08-17 19:26:24 -03:00
9783ed3750
Backported LOS effect changes from the dev branch (the brightness of the obstructer area is the same as ambient light)
Joonas Rikkonen
2018-08-17 12:58:23 +03:00
d0e0143308
Respawn durations can be changed mid-round.
Joonas Rikkonen
2018-08-15 13:39:01 +03:00
0dca8bc940
Clients can be given access to server logs. Closes#366
Joonas Rikkonen
2018-08-15 12:57:46 +03:00
c2f9e1481f
Recommended crew experience is saved using text tags instead of the actual text (-> experience texts can be translated without the translation showing up in sub files).
Joonas Rikkonen
2018-08-15 12:06:22 +03:00
b1f8de887c
Clients use the Revive method instead of just setting health above zero when the host revives a character. Fixes dismembered characters staying dismembered client-side.
Joonas Rikkonen
2018-08-15 11:52:48 +03:00
e513b379f4
Added parameter autocompletion to the kill command
Joonas Rikkonen
2018-08-15 11:46:54 +03:00
fe8a22a4f8
Characters can't hold things in severed hands, limb bodies are re-enabled when reviving a character. Closes#529
Joonas Rikkonen
2018-08-15 11:46:43 +03:00
4866a89253
Servers can disable the disguise feature. Closes#568
Joonas Rikkonen
2018-08-14 16:06:23 +03:00
1e02d7406d
Added a collider to railgun (-> cannot go through walls or enemy subs anymore). Closes#444
Joonas Rikkonen
2018-08-14 15:39:01 +03:00
8233f3b8df
Increased minimum midround sync timeout to 10 s, an extra check to make sure the server doesn't write position updates during midround syncing (because the entities may not exist client-side yet)
Joonas Rikkonen
2018-08-14 13:28:56 +03:00
8160abe109
Fixed nullref exceptions when loading a steering component when a gamesession is running but no locations have been selected (not sure how that can even happen)
Joonas Rikkonen
2018-08-14 13:28:11 +03:00
6cb6e26b94
Servers can modify all Editable item properties using ChangeProperty events (not just InGameEditable ones). Closes#675
Joonas Rikkonen
2018-08-14 12:01:56 +03:00
8d5e5a8a15
Fixed characters being able to aim with items that have no aimPos configured (causing them to hold two-handed items like shells an crates in one hand when holding the aim button). Closes#613
Joonas Rikkonen
2018-08-13 17:14:49 +03:00
1c6a29dbc6
Characters point the harpoon gun downwards when not aiming. Closes#661
Joonas Rikkonen
2018-08-13 17:05:51 +03:00
de05c7f047
More wire color variants. Closes#660
Joonas Rikkonen
2018-08-13 17:05:25 +03:00
1f5239b141
Horizontally resizeable walls are considered horizontal regardless of their size (and the same for vertical ones). Fixes orientation of short but thick walls (e.g. a tiny piece of a heavy wall) being wrong. Closes#648
Joonas Rikkonen
2018-08-13 14:55:26 +03:00
091dcf35e6
Server ignores kick votes if the client has already voted to kick the same player. Closes#615
Joonas Rikkonen
2018-08-11 17:29:03 +03:00
d98de2c305
Fire probability and the voltage required for a PowerTransfer item to take damage can be configured in the xml. Docking ports & hatches don't get broken by excess voltage. Closes#589
Joonas Rikkonen
2018-08-11 17:09:36 +03:00
f99bec4ed2
If the distance is excessively large when forcing the collider of a dead character to follow the body, the collider is teleported instead of moving it by setting the velocity. + More physics error logging
Joonas Rikkonen
2018-08-09 14:13:08 +03:00
f697ec7582
Melee weapons don't stop the swing when they hit the first target (but only damage each target once per swing). Fixes weapons not hitting the target in tight spaces due to touching the ceiling/walls first, and allows hitting multiple characters with one swing. Closes#622
Joonas Rikkonen
2018-08-09 12:55:52 +03:00
7a7c92a2ce
Server writes item condition at full accuracy instead of just using 8 bits. The more inaccurate condition caused issues when the value was just above some specific threshold (e.g. minimum condition for a fabricator ingredient) server-side and below it client-side. Closes#616
Joonas Rikkonen
2018-08-09 12:39:14 +03:00
45939a9144
Fixed oxygen tank & welding fuel tank crafting causing everyone to desync. The item condition NetEntityEvent was created before the spawn event of the item, preventing clients from reading the condition event because the item doesn't exist yet. Closes#617
Joonas Rikkonen
2018-08-09 12:08:47 +03:00
f1a8db5b47
Fixed stereo sound loading
Juan Pablo Arce
2018-08-08 20:57:00 -03:00
92f3ac5469
Server setting for selecting which symbols are allowed in client names. The default setting includes symbols from the character ranges Basic Latin, Latin-1 Supplement, Latin Extended A & B and Cyrillic. Closes#534
Joonas Rikkonen
2018-08-08 17:07:08 +03:00
2f0236d99b
Fixed PowerContainer RechargeSpeed being capped to the MaxRechargeSpeed set in the prefab due to RechargeSpeed being loaded before MaxRechargeSpeed. Closes#612
Joonas Rikkonen
2018-08-08 15:56:19 +03:00
5100956bae
Levels are mirrored when traveling backwards through a connection in the campaign mode. Closes#519
Joonas Rikkonen
2018-08-08 15:30:32 +03:00
1c1a1eb80e
Background sprites spawn at the correct position and rotation in mirrored levels.
Joonas Rikkonen
2018-08-08 15:12:24 +03:00
2a09e68f21
Clown costumes hide the torso limb, diving suits hide the waist which also prevents damage bypassing the damage modifiers of the suit. Closes#606, closes#611
Joonas Rikkonen
2018-08-08 14:55:12 +03:00
1a5a76746b
Fixed handcuffed players being able to perform CPR and grab/drag bodies. Closes#608
Joonas Rikkonen
2018-08-08 12:01:20 +03:00
5e093faaa2
Fixed max recharge speeds of PowerContainers resetting to the default value after saving and reloading a sub. Closes#605
Joonas Rikkonen
2018-08-08 11:27:03 +03:00
506c13c929
Again, save before committing
Joonas Rikkonen
2018-08-08 11:15:05 +03:00
2859b5c7f7
Added physics error check & logging to gap update
Joonas Rikkonen
2018-08-07 16:49:51 +03:00
865b35c6cd
Fixed "attempted to access a removed AITarget" errors in AIObjectiveIdle
Joonas Rikkonen
2018-08-07 16:49:17 +03:00
4aeaf93af8
Fixed engines trying to apply infinite force to the submarine if MinVoltage is set to zero.
Joonas Rikkonen
2018-08-07 14:36:08 +03:00
004250409a
Fixed number of completed missions in a level not increasing if the connection is not selected after completing a mission. Closes#594
Joonas Rikkonen
2018-08-07 13:21:46 +03:00
4b0c54d664
Dockingport gap linking fixes. Closes#551 - Dockingports force the hatch/door gaps to be connected to the hulls between the ports, because connecting them automatically may fail if the ports are positioned in a non-standard way. - Gaps don't recheck hulls in OnMapLoaded if rechecks have been disabled. - Item.UpdateHulls and Gap.UpdateHulls are not called when OnMapLoaded is called during ruin generation.
Joonas Rikkonen
2018-08-07 12:45:45 +03:00
5354670288
Fixed StatusEffects being multiplied by deltatime when a client uses an item with the "use on self" buttons (even though the effect should be instantaneous). Caused effects with no duration to do almost nothing, making calyxanide and other meds with instantaneous effects basically useless. Closes#587
Joonas Rikkonen
2018-08-07 11:36:53 +03:00
2d18da40eb
Made calyxanide usable without a medical syringe and made it more effective when injected.
Joonas Rikkonen
2018-08-07 11:12:09 +03:00
cfc03f8443
Controllers can't focus the camera on broken items (none of the current focusable items can break but may be useful for modders). Closes#590
Joonas Rikkonen
2018-08-06 22:14:37 +03:00
a5a09aa664
Fixed OwnerClientName & OwnerClientIP not being set on respawned characters. The characters of clients who aren't in-game 30 seconds after a round starts are treated as disconnected, making it possible for the client to gain control of the character if they do manage to connect. Closes#583, #584
Joonas Rikkonen
2018-08-06 15:48:47 +03:00
e60ebc1930
Handling and logging exceptions thrown by ItemComponent constructors, added stack traces to a couple of error messages
Joonas Rikkonen
2018-08-06 14:53:07 +03:00
7c93730fc3
Fixed errors in netlobbyscreen when attempting to select a sub that fails to load (for example due to a missing/corrupt file), campaign cannot be started if the selected submarine cannot be loaded
Joonas Rikkonen
2018-08-06 14:28:54 +03:00
1a50996774
Server doesn't force reconnecting spectate-only clients to control their previous character.
Joonas Rikkonen
2018-08-06 14:14:30 +03:00
c463baed44
Made medical & toxic cabinets waterproof. Closes#578
Joonas Rikkonen
2018-08-06 14:08:00 +03:00
fa65372715
Whoops, save before committing
Joonas Rikkonen
2018-08-06 13:41:36 +03:00
4ebe3d715e
Characters stay alive for 30 seconds after a client disconnects, and if the client rejoins during that time they regain control of the character. Closes#42
Joonas Rikkonen
2018-08-06 13:38:39 +03:00
af3fa80011
Clients only include the last 20 console messages in the "invalid object header" error messages, and the console messages are not displayed in the console itself. Closes#569
Joonas Rikkonen
2018-08-06 12:32:00 +03:00
d51d01c3e8
Fixed Submarine.HandleLimbCollision attempting to set the velocity of the sub to an invalid value when the current velocity is extremely small
Joonas Rikkonen
2018-08-06 11:43:46 +03:00
9052782a6c
Fixed index out of range exception when trying to determine outside collider position for a gap that's not connected to anything
Joonas Rikkonen
2018-08-06 11:22:50 +03:00
e57eb739e2
Cloned items copy the RequiredItems from the original item. Closes#581
Joonas Rikkonen
2018-08-06 11:19:10 +03:00
a8604deeb6
Removed monitor files from the vs project
Joonas Rikkonen
2018-08-06 11:18:37 +03:00