Commit Graph

79 Commits

Author SHA1 Message Date
Joonas Rikkonen 33d971f5d0 Fixed OnBroken & OnImpact statuseffects not being applied client-side 2018-10-29 20:38:43 +02:00
Joonas Rikkonen 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). 2018-10-08 11:23:52 +03:00
Joonas Rikkonen 57c9e5a731 Fixed IndexOutOfRange exceptions when cloning items with requiredItems that aren't present in the xml, + some more exception handling & error logging 2018-09-10 12:06:39 +03:00
Joonas Rikkonen 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.
2018-08-29 13:38:56 +03:00
Joonas Rikkonen 48e14347a3 Fixed projectiles colliding with railguns due to 1e02d74 2018-08-24 14:18:51 +03:00
Joonas Rikkonen 012245fbaa Items outside the sub cannot be deattached. Closes #562 2018-08-20 20:42:57 +03:00
Joonas Rikkonen 1e02d7406d Added a collider to railgun (-> cannot go through walls or enemy subs anymore). Closes #444 2018-08-14 15:39:10 +03:00
Joonas Rikkonen 6cb6e26b94 Servers can modify all Editable item properties using ChangeProperty events (not just InGameEditable ones). Closes #675 2018-08-14 12:01:56 +03:00
Joonas Rikkonen 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 2018-08-09 12:39:14 +03:00
Joonas Rikkonen 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 2018-08-09 12:08:47 +03:00
Joonas Rikkonen 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 2018-08-07 11:36:53 +03:00
Joonas Rikkonen c463baed44 Made medical & toxic cabinets waterproof. Closes #578 2018-08-06 14:08:00 +03:00
Joonas Rikkonen e57eb739e2 Cloned items copy the RequiredItems from the original item. Closes #581 2018-08-06 11:19:10 +03:00
Joonas Rikkonen 274a29bada Fixed fabricated items always appearing to be in full condition client-side (e.g. oxygen tanks which should be empty after being fabricated). Cherry-picked from 64896b0f. Closes #561 2018-08-02 10:50:38 +03:00
Joonas Rikkonen 5a6a8e2501 Wifi components can't communicate with the enemy sub in combat missions. Fixes #554 2018-08-01 13:52:47 +03:00
Joonas Rikkonen 82103cf394 Controllers don't have to be wired directly to an item for camera focus to work (= railguns and cameras can be used over wifi). Closes #535 2018-07-31 15:03:20 +03:00
Joonas Rikkonen c66098ca4e Fixed only the first inventory of an item being synced (e.g. clients wouldn't get notified when an item is contained in the "output inventory" of a fabricator or deconstructor). 2018-07-30 11:00:21 +03:00
Joonas Rikkonen 9964923eba Fixed server writing invalid item network events incorrectly (NetBuffer.Position is the read position, not write position) 2018-07-30 10:46:52 +03:00
Joonas Rikkonen 5233b51e18 More error checks in Item.ServerWrite 2018-07-30 10:12:55 +03:00
Joonas Rikkonen 458c972580 More server-side EntityEvent error logging, Item.ServerWrite does some error checks and writes NetEntityEvent.Type.Invalid as the type of the event instead of attempting to write a potentially unreadable message. 2018-07-29 22:28:56 +03:00
Joonas Rikkonen 0728784b8b Added invalid value checks to PhysicsBody property setters & item.SetTransform, checking for excessively large values 2018-07-22 17:58:17 +03:00
Joonas Rikkonen 0abdcb969d Fixed "failed to write event" errors when a client or server tries to change an enum value of an item (e.g. the output type of an oscillator component) 2018-07-20 15:18:46 +03:00
Joonas Rikkonen e7e7d32123 Cherry-picked 0ff9a3d (more ragdoll optimization) 2018-07-20 12:21:53 +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 1a84b6cae7 Fixed items not being placed in the same hull and sub as the item they're inside if the ItemContainer is not the first of the parent's ItemContainer components (e.g. fabricator output inventory). Closes #430 2018-05-30 19:15:55 +03:00
Joonas Rikkonen 421e77cc3e Fixed itemcomponents being loaded incorrectly if an item has multiple components of the same type. 2018-05-07 11:15:49 +03:00
Joonas Rikkonen c71315f4da Fixed StatusEffects of child ItemComponents not being added to an item's StatusEffect lists 2018-04-23 15:16:51 +03:00
Joonas Rikkonen ceaba2f5ca Fixed some entities occasionally not being removed at the end of a round. CargoMission removed the cargo items at the end of a round without checking if the items have already been removed, which could cause another entity to be removed from the entity dictionary if it's taken the ID of the cargo item. This prevented the new entity from being removed in Entity.RemoveAll, causing errors during the next round. Closes #278 2018-04-23 13:55:08 +03:00
Joonas Rikkonen 03fa2a2e1b Fixed item removal by SecondaryUse not being synced 2018-03-08 23:54:28 +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 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 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 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 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 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 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 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 a2c898150e Item.SetTransform uses SetTransformIgnoreContacts to set the position of the physics body if the body is disabled. No need to update contacts when moving disabled items such as wearables. 2018-02-13 13:54:09 +02:00
Joonas Rikkonen 51ea71333e Fixed ChangeProperty network events 2018-01-24 15:53:32 +02:00
Joonas Rikkonen 25ebe52248 Option to configure alternate sprites for broken items 2018-01-11 16:51:36 +02:00
Joonas Rikkonen 7187c277e7 Merge branch 'master' into moStuff 2018-01-09 10:38:06 +02:00
Alex Noir 6d30557860 Overhaul fabricators and deconstructors to have minCondition, maxCondition (deconstructor) and outCondition
Implement several suggestions listed in https://github.com/Regalis11/Barotrauma/issues/196
Add more fabricatables and deconstructables
2017-12-22 21:33:14 +03:00
Alex Noir e6b7a0d313 Adds ducts, switches and motion detectors, as well as door breaking sounds, all based on Barotrauma Extended mod.
Several sounds and sprites were altered to their mod counterpart.
Fixes doors being unfixable without having a crowbar.
Fixed case sensitivity mismatch for crowbar.ogg - this is a problem for linux builds.
2017-12-21 16:37:46 +03:00
juanjp600 07626a1989 Merge branch 'master' of https://github.com/Regalis11/Barotrauma
Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs
2017-12-20 19:46:53 -03:00
juanjp600 7a413aee93 Optimized GameScreen.DrawMap
- Downscaled lightmap, since blurring will make this unnoticeable anyway
(TODO: make this optional)
- Render LOS in fewer passes by using a shader
- Use light volume to calculate LOS
- This also means we can use the override texture to render the diving
suit obstruct effect
- Don't render bunks and labels onto LOS background (TODO: add the
option to render back into the LOS background, i.e. just use
multiplicative blending as if it was the lightmap)
- Prefer SpriteSortMode.Deferred over all others, prefer
SamplerState.LinearClamp/PointClamp over all others
- Remove shader blur in favor of geometry blur (TODO: improve on this
further, right now it has a few artifacts)
- Trim light volumes
- Do some weird shit with the background particles (use DrawTiled
instead of relying on SamplerState.LinearWrap, because that's faster
somehow :/ )
- Pressing up/down in the console only returns a typed command now
2017-12-20 19:41:23 -03:00
Alex Noir e5f60b29e1 tweaks and stuff 2017-12-20 20:44:21 +03:00
Alex Noir 1fe71b5fe6 Fixed IsInWater acting strangely 2017-12-20 18:54:00 +03:00
Alex Noir 9a91480256 Expose Description to Sub Editor so you can do things like create spare ID cards or w/e 2017-12-16 21:09:02 +03:00
Alex Noir bdeb3a19fd Updated server logs so admins can see disguised persons
clientist should also display stuff
TODO: Log inventory interactions like putting item in slots (e.g. oxy mask equipped in Head slot or equipped in Any slot, etc.) so you can tell the exact moment someone decided to disguise themselves.
2017-12-16 20:24:24 +03:00
juanjp600 1cb39f7fd5 Fixed some inconsistencies and oddities in physics-handling code
I'm not sure if this fixes or breaks anything, but it's worth a shot.
2017-12-15 18:11:00 -03:00