Joonas Rikkonen
c2d0fa4e03
Fixed non-continuous RegEx components only sending out a signal once
2018-11-15 21:32:11 +02:00
Joonas Rikkonen
c4c2967065
Option to make RegEx component only send a signal when it receives a signal (not continuously according to the last received signal), added FalseOutput property to RegEx component. Closes #846 , Closes #911
2018-11-15 20:52:15 +02:00
Joonas Rikkonen
105461beb3
Fixed LightComponents staying active on broken items. Closes #759
2018-08-29 16:45:35 +03:00
Joonas Rikkonen
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
2018-08-20 20:12:33 +03:00
Joonas Rikkonen
6a415afaa1
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
2018-08-06 10:53:25 +03:00
Joonas Rikkonen
141b77f838
Fixed connectionpanel syncing. Closes #575
2018-08-06 10:50:32 +03:00
Joonas Rikkonen
a69c52b3c1
Fixed servers failing to write network events for wires with too many nodes, causing clients syncing to fail and everyone getting kicked out due to desync. Now the wire events are split into multiple events, and there's a hard cap (255) on the number of nodes per wire. Closes #563
...
+ Writing too much data into an event no longer breaks event syncing completely, if it happens the server just logs an error and writes an empty event.
2018-08-03 21:32:28 +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
60a563fe75
EntityEvent fixes:
...
- Clients wait for midround syncing to finish before applying the remote state to connection panels and inventories (because the wires connected to the connection panel or items in the inventory may not exist before the EntitySpawner events have been received).
- Server writes 0 as the projectile ID if the projectile doesn't exist anymore when a Turret event is sent.
- More info in networkevent error messages.
2018-07-30 13:35:26 +03:00
Joonas Rikkonen
d00b52882f
Added UpdateUseItem method from d253863
2018-07-18 12:14:09 +03:00
Joonas Rikkonen
41800aff77
Cherry-picked d0b61b3 from dev.
2018-07-18 11:50:09 +03:00
Joonas Rikkonen
e0455caaaa
Cherry-picked 869b725 from dev
2018-07-18 11:49:36 +03:00
Joonas Rikkonen
1ef2cb7500
Fixed crashing if the Use method of a wire is triggered by a StatusEffect
2018-07-18 11:24:56 +03:00
Roni Kovaniemi
c1cbde4288
Adder Signal Component
...
Added a Adder signal component, which adds values inputted together and outputs a sum.
2018-07-09 14:42:07 +03:00
Joonas Rikkonen
df149dd0fa
Option to make delay component reset (discarding previously received signals) when a new signal is received, fixed delay countdown running even when the game is paused. Closes #435
2018-06-10 23:51:26 +03:00
Joonas Rikkonen
d1ec246f28
Fixed motion sensors sending out signals even if the output is set to nothing. Closes #426
2018-05-30 18:36:44 +03:00
Joonas Rikkonen
ed22ca360f
Fixed AND/OR or components staying inactive until they receive their first signal. Closes #387
2018-04-25 14:43:44 +03:00
Joonas Rikkonen
faaaa69fa7
RegExFindComponent doesn't attempt to evaluate the (null) signal when no signal has been received yet.
2018-03-21 15:31:53 +02:00
juanjp600
82dcbc3ae8
Light sources now follow the direction of parent Turrets + changed Controller's output signal and Turret's input signal to an angle
2018-03-07 22:53:28 -03: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
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
7d346c1437
Fixed wires dropping when a client moves them from a connection to another in the same connection panel, fixed wires becoming disconnected client-side if they're moved from a connection to another connection that's upper in the connection panel. (See #252 )
2018-02-15 14:24:04 +02:00
Joonas Rikkonen
ec302e099b
Fixed Powered ItemComponents (not components deriving from Powered) never resetting their voltage after receiving power, causing them to stay powered indefinitely. Closes #247
2018-02-05 22:31:55 +02:00
Joonas Rikkonen
965eef365b
Fixed relay components not carrying power & deactivated (CanTransfer = false or IsActive = false) PowerTransfer components still carrying power
2018-01-17 21:25:52 +02:00
Joonas Rikkonen
aa0fdfb790
All highlighted items are rendered to the lightmap, not just the ones the player is focusing on. -> Highlighted wires and the items they are connected to now glow in the dark.
...
Fixed LightComponent light source position not being updated if the item has no body, causing the light source to appear in a wrong position when attaching lights to walls.
2018-01-11 13:22:04 +02:00
Joonas Rikkonen
47f9900fdc
Lighting fixes:
...
- Re-enabled lightsprites (glowing lamp sprites on lamps).
- Limb sprites use lightsprites instead of overriding the texture (positioned correctly now).
- Fixed lights that don't cast shadows not being rendered.
2018-01-11 11:23:55 +02:00
Joonas Rikkonen
6a3a4efba6
Option to display lighting in sub editor
2018-01-09 12:27:42 +02:00
Joonas Rikkonen
78c13ddb42
Wire selection fixes:
...
- Fixed MathUtils.LineToPointDistance returning NaN if both points of the line are at the same position, preventing from selecting some wire nodes in the wiring mode.
- Added an indicator that shows when a node is highlighted.
- Wire nodes a higher preference for being highlighted than wire sections. Makes it easier to select nodes that are on top of another wire.
Closes #215
2018-01-01 15:04:53 +02:00
Joonas Rikkonen
bb987676ca
Improved PowerTransfer logic. The PowerTransfer components cache all the connections that are connected to the item (directly or via another item) and only recalculate them when changes are done to the wiring. Signals received by the PowerTransfer component are relayed directly to the recipients instead of stepping through all the wires and junction boxes in between.
...
Fixes stack overflow exceptions caused by signals looping between junction boxes and improves performance because the layout of the power grid doesn't have to be calculated every frame and the wire connections don't have to be rechecked when sending a signal. Closes #222
2018-01-01 14:59:40 +02: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
Joonas Rikkonen
847e10d4a2
Fixed wires not being dropped server-side when a player drops a connected wire without dragging it to their inventory first (or client-side when a host does so).
...
Closes #96
2017-12-13 18:34:23 +02:00
Alex Noir
231a38f71d
roll back name change from "Aim" to "SecondaryUse"
...
Expand SecondaryUse to have similar properties to normal Use so it can apply SecondaryUse-related status effects
Make Throwable great again
2017-12-10 15:00:52 +03:00
Alex Noir
00653c5aa4
Renames "OnSecondaryUse" to "OnAim" for more sense
...
adds new "OnHudUse" to separate normal and self use
2017-12-10 13:39:00 +03:00
Joonas Rikkonen
db7d5539e0
Fixed modified clients being able to disconnect locked wires
2017-12-07 20:20:05 +02:00
juanjp600
3db407fe52
Fixed wire connections being lost when copy-pasting in sub editor
2017-12-03 11:59:29 -03:00
Joonas Rikkonen
765587efd7
Renamed screens (EditMapScreen -> SubEditorScreen, EditCharacterScreen -> CharacterEditorScreen)
2017-11-18 15:13:03 +02:00
Joonas Rikkonen
b3769b383a
- Input field for rects.
...
- Input fields for ItemComponent requiredItems.
- Added tooltips to a bunch of editable ItemComponent properties.
- Misc fixes.
2017-11-13 22:06:13 +02:00
Joonas Rikkonen
8e556f1c76
- Renamed a bunch of ObjectProperty-related stuff (ObjectProperty -> SerializableProperty, IPropertyObject -> ISerializableEntity, the "SerializableProperty" attribute -> Serialize).
...
- Rectangle serialization.
- Option to restrict numeric properties to a range of values.
- WIP generic ISerializableEntity editor.
2017-11-08 21:15:03 +02:00
Joonas Rikkonen
a0d606ef5f
Working on improving the serialization system and ObjectProperty/IPropertyObject (TODO: come up with better names). The plan is to:
...
- Add support for some of the most common types (vectors, colors, rects) so there's no need to parse the values in the setters of the serializable properties (see Holdable.HoldPos for example).
- Make a generic version of the item editing HUD that can be used on any IPropertyObject. Should make it easier to implement things like the character editor, editing structure properties, particle editor, etc.
- Improve the interface of the editing HUD. Instead of having to type in a string value into a textbox, there should be number input fields for numeric properties, sliders for properties that only accept a range of values, a color picker, etc. And tooltips.
2017-11-03 19:41:21 +02:00
Joonas Rikkonen
f8dfba91b8
Capped oscillator frequency to 240 Hz to prevent players from causing performance issues by setting it to an excessively high value
2017-10-05 21:19:23 +03:00
Joonas Rikkonen
a740bf9a56
Added oscillators (a signal component that sends out a periodic pulse, sine wave or a square wave)
2017-10-04 20: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
1311a286f5
Added battery recharge docks, moved applying OnActive statuseffects to the Powered itemcomponent, removed smoke particles from stun baton hit effect
2017-09-03 16:57:32 +03:00
Joonas Rikkonen
c7ae91da42
Added "state_out" connections to relay components
2017-08-31 16:45:04 +03:00
Joonas Rikkonen
96a64d45dc
Moved MapEntity saving methods to the shared project (the server needs to be able to save subs in the campaign mode)
2017-08-30 18:09:48 +03:00
Joonas Rikkonen
f062ca0e4d
Wire nodes are synced when a player adds a new node and when the wire is connected to something
2017-07-25 23:27:30 +03:00
Joonas Rikkonen
286c1ad950
Fixed crashing when a client clears connections of a wire (because the logging attempted to access Character.Controlled instead of the client's character), fixed the (completely broken) ConnectionPanel.ServerRead
2017-07-25 21:27:22 +03:00
Joonas Rikkonen
575b643c62
Added "user" parameter to Inventory.PutItem and Inventory.TryPutItem. + More descriptive wiring logging: the logs don't list all the wires in a connectionpanel but only the changes a player does to the wiring. Disconnecting wires by picking them up and wiring done by the host are also logged now.
2017-07-17 23:27:31 +03:00