Commit Graph

1613 Commits

Author SHA1 Message Date
Joonas Rikkonen
d13d3101ea Made enum deserialization case insensitive 2017-11-16 21:00:42 +02:00
Joonas Rikkonen
08cf902cb8 MapEntityPrefabs are deserialized using SerializableProperty 2017-11-15 19:01:55 +02:00
Joonas Rikkonen
04e3710a65 Renaming fields for consistency 2017-11-14 22:45:22 +02:00
Joonas Rikkonen
5f4bf48449 Replaced instances where MapEntityPrefabs are searched for based on the name with a static Find method that takes the aliases of the prefabs into account. 2017-11-14 21:40:43 +02:00
Joonas Rikkonen
d072713936 Replaced manual rect parsing in a bunch of places with an extension method 2017-11-14 21:09:07 +02:00
Joonas Rikkonen
913a102591 Option to set aliases for StructurePrefabs 2017-11-14 21:04:49 +02:00
Joonas Rikkonen
5d525865bf More descriptive error message when a fabricable item can't be found 2017-11-14 20:00:57 +02:00
Joonas Rikkonen
05f94c2666 Fixed rebinding keys to mouse2 via the settings menu 2017-11-14 19:15:57 +02:00
Joonas Rikkonen
ff926c1da2 Warning texts when water pressure is increasing to dangerous levels and when running out of oxygen, added a method for invoking an arbitrary action after a delay to CoroutineManager 2017-11-14 19:10:43 +02:00
Joonas Rikkonen
157d9dcaba Fixed errors when attempting to save server logs with illegal characters in the server name 2017-11-14 19:08:45 +02:00
Joonas Rikkonen
65b1e8c83a SerializableEntityEditor layout tweaking 2017-11-14 18:59:22 +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
f7298c241e Progress:
- Input fields for vectors & colors in SerializableEntityEditor.
- SerializableProperty tooltips.
- GUINumberInput supports floats.
- EditingHUD for structures (atm the only editable property is the color of the sprite)
2017-11-12 20:24:11 +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
8b9be55135 Fixed damaged thresher sprite 2017-11-03 18:07:11 +02:00
Joonas Rikkonen
25664ea611 Optimizations & minor visual changes to sonar UI 2017-11-01 20:59:30 +02:00
Joonas Rikkonen
ec020f43d3 Fixed creatures seeking towards an incorrect position when trying to eat something (causing larger creatures like threshers and coelanths to swim around the target without ever reaching it), extra check for removed entities in AITarget 2017-11-01 20:58:37 +02:00
Joonas Rikkonen
69d0fac69d Made the damage range of limb attacks configurable (instead of having it always be half of the distance at which the attack activates) and tweaked the damage ranges of all the creature attacks 2017-11-01 20:42:25 +02:00
Joonas Rikkonen
f8258450a1 Merge branch 'master' of https://github.com/Regalis11/barotrauma 2017-10-19 00:02:30 +03:00
Joonas Rikkonen
1f92e31166 HumanAIController calculates the "dangerousness" of an enemy based on the largest amount of damage received from it (assuming it's larger than the attack values of the enemy's limbs). Meaning that an enemy that inflicted lots of damage to the character using items is considered dangerous even if it has no attacks assigned to it's limbs. 2017-10-19 00:01:34 +03:00
Joonas Rikkonen
87e9936c60 Captains spawn with a revolver and 2 rounds, heavier harpoon gun recoil & impulse when the spear hits someone. 2017-10-18 23:59:36 +03:00
Joonas Rikkonen
6bfca5f7fe - Hitscan projectiles, projectiles can be set to disappear after hitting something.
- Option to adjust ranged weapon spread (separate values for "normal spread" and when being used by an unskilled character).
- Option to disable explosion flashes.
2017-10-18 23:48:25 +03:00
juanjp600
b5ede1ce8e Merge branch 'master' of https://github.com/Regalis11/Barotrauma 2017-10-16 22:53:59 -03:00
juanjp600
dd2c7661e3 Reverted back to Reach profile, changed damageshader shader model to match other shaders 2017-10-16 22:53:35 -03:00
Joonas Rikkonen
142920d704 - Added sprites for damaged doors.
- Fixed destroyed doors being impossible to repair because the repair tool raycasts wouldn't hit the disabled body of the door.
- Destroyed doors don't cast shadows and the body isn't re-enabled until the door is restored to 50% health.
2017-10-12 19:45:49 +03:00
juanjp600
3a67418985 Minor optimizations + Potential bugfixes 2017-10-11 22:52:13 -03:00
Joonas Rikkonen
f46dc5da28 Water flow logic tweaking:
- Less fluctuation, water doesn't constantly flow back and forth through gaps.
- Flowing water pushes characters around much more heavily, and the force is applied to the collider in addition to the limbs.
- Vertical gaps don't push characters up/down unless the character is roughly above/below the gap.

+ Renamed some fields in the hull and gap classes (Volume -> WaterVolume, FullVolume -> Volume, public fields start with a capital letter)
2017-10-10 21:07:45 +03:00
Joonas Rikkonen
c444186426 Updated client project (ShiftSummary -> RoundSummary), removed unused drowningtime variable 2017-10-05 21:35:57 +03: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
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
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
3aaf5cbae2 ObjectProperties support enums, added a dropdown for enum properties to item editing UI. 2017-10-04 20:07:57 +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
6c7c97a875 Replaced the placeholder C4, detonator & grenade sprites 2017-09-28 19:00:59 +03:00
Joonas Rikkonen
f127c410b0 Option for clients to spectate the game without respawning 2017-09-25 21:31:21 +03:00
Joonas Rikkonen
5eb1544f1e Clients can be given a permission to select the sub or the game mode 2017-09-24 17:11:10 +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
5a4bc0242d Voting UI fixes:
- The vote count texts are removed when voting is disabled.
- Server sends vote status to joining clients (-> clients see the number of votes immediately, not after someone votes something).
- Server refreshes vote count texts when a client disconnects.
2017-09-21 20:37:30 +03:00
Joonas Rikkonen
8c3c689596 - Fixed creatures being able to sever non-severable limb joints (which caused syncing issues when the waist->torso joint of a humanoid was severed).
- The server creates an entity event when a joint is severed.
- Made joints severable by default.
2017-09-21 17:50:24 +03:00
Joonas Rikkonen
dd86b5745a - The server doesn't disable client-controlled AI characters that are far from all other players.
- Clients aren't allowed to flip swimming FishAnimControllers unless the server says so (occasionally caused creatures to flip around constantly because the clients ignore the 1-second "flipping cooldown").
- Moved Character.ReadStatus to the client project.
2017-09-21 17:44:52 +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
8949871f00 Saving fix 2017-09-11 21:37:28 +03:00
Joonas Rikkonen
63bca3c7ea Syncing campaign state & save files with clients (WIP) 2017-09-11 21:32:48 +03:00
Joonas Rikkonen
51cfef214c BackgroundSpriteManager uses RandSync.Server because the server also generates background sprites now 2017-09-11 21:31:21 +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