Commit Graph

739 Commits

Author SHA1 Message Date
Regalis
357a853342 A bunch of fixes to syncing clients who join mid-round:
- syncing items spawned/removed mid-round
- syncing characters spawned mid-round (through the console or by respawning)
- making sure that item IDs of the spawned characters match
- syncing wall damage
2016-07-25 18:48:48 +03:00
Regalis
6c79a8c568 Syncinc AICharacter inventories (a husk controlled by the host), clients don't try to read physicsbodyposition messages if the item doesn't have a body, control command works even if the character has spaces in the name 2016-07-25 18:43:09 +03:00
Regalis
2490c0eb9d - fixed Submarine.MainSub not being set in tutorialmode
- controllers can effect view distance (-> longer railgun view dist)
- fixed removeitem messages not being sent when a fabricator destroys an item
- changes to depth damage logic: structures won't take damage until the pressure is above the health of the hull (i.e. weaker structures break first, subs with no windows can go deeper)
2016-07-25 18:38:50 +03:00
Regalis
deb09328e0 Sending the ids of the hulls/gaps in between docking ports to make sure they match between clients, small optimizations to hull networkevents 2016-07-25 18:33:44 +03:00
Regalis
09782be231 - sonar shows the outlines of docked subs (instead of normal sonar blips)
- fixed lights not being removed if the same explosion is triggered again before the previous one is finished
- fixed electrical shocks from junction boxes stunning nearby players (and not just the player using the jb)
- showing restart timer as mins + secs
- more server settings
2016-07-25 18:30:13 +03:00
Regalis
dd9b78f8ff Handling exceptions thrown at any point during coroutine update, not just at Coroutine.MoveNext, dirty workaround for a (rare?) pathfinding bug I haven't been able to reproduce 2016-07-21 21:20:21 +03:00
Regalis
8abea5c0c7 - gameServerSettings refactoring: using ObjectProperties for saving/loading instead of doing it manually
- tabs for different types of server settings
- moved banlist to server settings
- option to select autorestart delay
- character name is always the same as client name (less griefing potential)
2016-07-21 21:18:38 +03:00
Regalis
911846acff - submarines send position updates more frequently when they're moving faster
- small AICharacter syncing optimizations
- respawning can be disabled in server setting
- netstats show the total amount of bytes sent for each networkevent type
2016-07-20 17:20:27 +03:00
Regalis
b81417ad16 Characters can be left behind in levels and they will stay there until the player returns, other subs visible in sonar 2016-07-20 17:13:34 +03:00
Regalis
2bdd6ff916 Multi-sub transition cinematic, linkedsubs don't have to be docked to the main sub when leaving (being at the same exit is enough), resetting item/serverlog listbox scroll when filtering the list 2016-07-18 20:37:53 +03:00
Regalis
c4cc19ea4f Fixed wires disconnecting when dragging them outside the sub, larger range of wifi channels 2016-07-18 20:35:38 +03:00
Regalis11
a3ae32d0dd asdgsdfhsd 2016-07-18 18:47:00 +03:00
Regalis
f8fec79785 Parts of the submarine that are left behind in the level will stay there, it's possible to leave the level without the main sub (e.g. in an escape shuttle) 2016-07-16 16:14:51 +03:00
Regalis
8357532fc1 Cargo spawns at the floor of the cargo room, item configs are fetched from the prefab instead of reloading the config files every time when placing an item 2016-07-16 16:12:34 +03:00
Regalis
03a3a156ba - fixed camera "twitching" when trying to move it above the upper limit of the level
- fixed duplicate hulls/gaps being placed at docking ports when saving and loading
- fixed linkedsubmarines moving when saving and reloading if the center of the wall vertices isn't he same as the center of the sub
- moving docked submarines along with the main sub when syncing the position
- characters are killed when the client controlling them disconnects (+ cause of death: disconnected)
- fixed the description box in server lobby
2016-07-15 19:21:10 +03:00
Regalis
a5111d33df Tons of AI + pathfinding bugfixes:
- waypoints are created between docked subs and removed when they undock
- fixed start waypoint being left out of steering paths
- NPCs won't close doors/hatches on themselves
- NPCs won't let go of ladders until their feet are above the lower edge of the hull
- fixed FindDivingGear "loops": need to find a suit -> need to get to a suit -> need a suit to get to the suit -> need to find a suit...
- fixed characters constantly turning from side to side in small rooms
- recursive function for finding the button which opens a door (so a button doesn't have to be connected straight to a door for an NPC to be able to open it)
- AIObjectiveGetItem keeps searching for more suitable items even if a path to a matching item has been found
2016-07-08 20:53:11 +03:00
Regalis
c8dae18135 - syncing docking ports
- linkedsubmarine saving fixes, path can be changed and sub reloaded in editinghub
- lightsources don't constantly recheck convex hulls of another sub if subs are docked
- position update networkevents arent sent for subs that are docked to the main sub
2016-07-06 23:01:51 +03:00
Regalis
19915fc4e5 - server log and item lists in editor can be filtered
- changes to item highlighting logic (easier in cramped subs)
- sub name/description boxes and selected items are reset when leaving the editor
2016-07-06 18:10:22 +03:00
Regalis
cd3ecd36e8 Merge branch 'multisub'
Conflicts:
	.gitignore
	Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
	Subsurface/Source/Items/Components/Holdable/RepairTool.cs
	Subsurface_Solution.v12.suo
2016-07-04 17:42:31 +03:00
Regalis
e74d5adef4 Subs that aren't docked to the main sub aren't saved 2016-07-04 17:31:07 +03:00
Regalis
cafeceb6d2 WIP dockingport/multisub saving in single player mode 2016-07-02 14:59:49 +03:00
Regalis
17197a442d Water can flow through vertical docking ports 2016-06-30 18:37:10 +03:00
Regalis
aae24b2b2c Better logic for determining which convex hulls are in the range of a lightsource (separate convexhull lists for each sub) 2016-06-30 17:50:02 +03:00
Regalis
34c6569313 Server can inflict impact damage on clients, character oxygen level syncing bugfix, hulls send a networkevent when oxygen level changes by >=5%, limb velocities aren't reset when receiving a network update 2016-06-29 17:26:26 +03:00
Regalis
3e3ec5a2ef Fixed fire extinquishers 2016-06-27 18:38:11 +03:00
Regalis
38c5251005 Vertical docking port, docking sounds, water flows properly between horizontally docked hulls, falseoutput of signal check components can be changed, lighting and FOW works between hulls (todo: some logic for determining when to update light.HullsInRange when two subs are moving relative to each other) 2016-06-27 17:48:20 +03:00
Regalis
b04e204dc3 - multiple submarines can be "merged" into one file (to be used as escape vessels etc)
- WIP docking ports
2016-06-26 14:31:00 +03:00
Regalis
296c5a14ed - host can respawn
- respawn info texts
- camera clamped to the the upper edge of the level
- fixed submarinebody being generated from all walls (and not just the ones belonging to that specific sub)
2016-06-23 18:23:20 +03:00
Regalis
325332c0af Fixed "queue empty" exception in GameServer.WaitForPlayersReady 2016-06-20 18:31:43 +03:00
Regalis
dc7956274c - camera follows the closest sub
- WIP "respawn shuttle"
- submarine size affects its mass
- electricity fixes
2016-06-18 14:46:40 +03:00
Regalis
cf822cfae6 Submarine saving fixes, impact damage in sub-sub collisions, submarine ambient sounds 2016-06-12 14:23:08 +03:00
Regalis
495a0f4124 - teleporting from sub to another works now
- repairtool fix
- submarines collide with each other
- every submarine is updated (so MainSub isn't the only one that can move)
- submarinebody vertex generation fix
2016-06-11 17:55:47 +03:00
Regalis
ee2d817e6b "Shifting" entity IDs to prevent them from overlapping between different subs, loading another submarine now works without crashing 2016-06-10 20:53:35 +03:00
Regalis
7349cdd310 Progress (compiles now) 2016-06-09 22:15:50 +03:00
Regalis11
c9fd599276 Merge branch 'master' of https://bitbucket.org/Regalis11/barotrauma into multisub
Conflicts:
	Subsurface/Source/GUI/GUI.cs
2016-06-09 18:39:54 +03:00
Regalis11
41569675f3 Started refactoring the submarine class in order to make it possible to add multiple submarines (or other movable structures) 2016-06-09 18:34:43 +03:00
Regalis
d520c00dc9 - stunned characters don't move their hands behind their back when cuffed (caused the characters to flail around when someone grabs them)
- characters can run while grabbing/dragging someone
- inventory and chatbox are hidden when stunned
- turret rotation is reset between minRotation and maxRotation when changing the rotation limits
- fixed explosion damage being applied to simPositions of the limbs instead of worldpositions
2016-06-09 16:54:30 +03:00
Regalis
14c809b2f2 Debug text tweaking, guiframe for relay component, spears loaded into a harpoon gun don't float in the air, some new names 2016-06-07 20:41:32 +03:00
Regalis
bd4292c3e5 - PowerContainer capacity is initialized before charge to allow setting the charge higher than default capacity
- soundplayer doesn't crash the game if it can't stream a music clip
- some new structure prefabs
- more effective corrigodone (health med)
2016-06-07 18:24:23 +03:00
Regalis
8f8f1ed7dc - fixed submarine selection resetting when switching to netlobbyscreen
- fixed EntityGrid IndexOutOfRangeException
- fixed AssignJobs() ignoring the highest job preference
2016-06-07 16:57:58 +03:00
Regalis
9689ef070d Vote kick settings 2016-06-07 14:13:12 +03:00
Regalis
0e24eab5e3 Re-enabled vote kicking, with some improvements: chat messages notifying about votes, kick button is disabled for the host's character or if already voted 2016-06-03 15:00:36 +03:00
Regalis
57abce298d Fixed projectile velocity being reset in Item.Drop() after launch 2016-06-03 14:58:01 +03:00
Regalis
6b6af6e72e - head sprites can be given "tags", and body is chosen from sprites with the same tag
- black character sprites
2016-06-03 14:57:22 +03:00
Regalis
50bee3da41 Wall convexhulls are split every 5 sections, convexhull edges that overlap with another convexhull are ignored (i.e. unneccessarys shadows aren't drawn where two walls meet) 2016-06-01 20:58:03 +03:00
Regalis
0621f6c9e3 Impulses aren't applied to disabled item bodies when the submarine hits something, velocities of item bodies are reset when the item is dropped, pathfinding errors don't open the debug console 2016-06-01 20:56:07 +03:00
Regalis
1828198abf More descriptive coroutine exception error messages, more null checks in Level.Unload 2016-05-30 18:33:46 +03:00
Regalis
b512a7ec18 - fixed clients failing to load submarines if they're not in the root Submarine folder
- some refactoring
- temporarily disabled kicking by voting
2016-05-30 18:32:36 +03:00
Regalis
c77060d485 Fixed vents, more powerful oxygen generators in vanilla subs 2016-05-30 18:25:50 +03:00
Regalis
c71a935de6 v0.4.1.3:
- fixed debug message height not being set correctly
- fixed submarine list not being updated if host has enabled "play yourself"
- fixed "queue empty" error when attempting to download a sub from the server
- maximum number of iterations when carving a path for a cave
2016-05-27 14:41:34 +03:00