Commit Graph

255 Commits

Author SHA1 Message Date
Regalis
aa2dbab579 PickItem networkevents include whether the item was selected instead of toggling selected/deselected, items can be picked when inside their trigger even if the position of the item isn't visible (i.e. ladders in Nehalennia can be climbed again) 2016-08-13 18:34:47 +03:00
Regalis
66df9c1dd0 Reverted the Ragdoll.SetPosition changes done in commit 6993318, won't work when standing partially through a platform 2016-08-13 18:31:55 +03:00
Regalis
eb33746907 Forcing hull/gap ids to correct ones if receiving a dockingport network event and the hulls/gaps have already been created, ItemContainers are active by default (to always check for potential statuseffects of the contained items), fixed NullReferenceException in Wire.Connect if attempting to connect to something outside the sub (shouldn't be possible unless messing something up in the editor) 2016-08-11 21:52:57 +03:00
Regalis
ab923c47e3 Error message if a character config file isn't found, Linux version tries to search for "Characterfolder" if "characterfolder" isn't found 2016-08-11 21:31:02 +03:00
Regalis
69933188d6 Ragdoll.SetPosition takes platforms into account if the character isn't ignoring platforms (i.e. forcing a character on top of a platform won't make it fall through it), reaching the top/bottom of a ladder won't make networkplayers fall off, server ignores position updates from dead/unconscious characters, smaller ResetRagdollDistance 2016-08-10 19:16:18 +03:00
Regalis
d4338580c7 updated changelog, transparent debug console frame, stuff 2016-08-08 23:32:32 +03:00
Regalis
581a7d5d9f Highlighted items glow in the dark, health bars are hidden when health is full, usernames and health bars are drawn at full brightness 2016-07-31 19:13:08 +03:00
Regalis
1a0451d0a8 - items can be equipped/unequipped by double clicking
- items inside the respawn shuttle
- using the teleport method when moving a character into or out from a sub
- removing dropped items from the respawn shuttle when respawning
2016-07-29 22:25:48 +03:00
Regalis
4252f4b9d0 - clients don't spawn character jobitems themselves (item data is written in the StartGame network message)
- after receiving a StartGame message, clients will wait until the game is loaded before reading new messages from the server
- the Item(prefab, position, submarine) constructor uses the position as the center of the item, not as top-left corner
2016-07-29 18:38:42 +03:00
Regalis
c773320a55 Autopilot can avoid other subs, characters won't go outside in idle state 2016-07-28 21:45:35 +03:00
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
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
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
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
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
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
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
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
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
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
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
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
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
68870b67f5 - fractal guardians have higher impact tolerance to stop them from killing themselves by slamming at the walls
- enemies use pathfinding when inside the sub and handle platforms/stairs better
2016-05-26 18:04:25 +03:00
Regalis
2398d8aa8a - resetting the "blood overlay" when switching the controlled character
- fixed 1-section long walls being impossible to fix after their body has been destroyed
- better looking blur (small lights aren't "skewed")
2016-05-26 18:03:08 +03:00
Regalis
b2f83b43f8 Attacks can apply a force to the target (i.e. monsters can throw characters around) 2016-05-22 01:28:46 +03:00
Regalis
7113a154fe Aiming is disabled when unconscious/stunned, the range of fire lightsources isn't randomized to reduce the amount of required convexhull updates 2016-05-19 19:49:31 +03:00
Regalis
a477dad1b2 Renamed the CollisionMisc collision category to CollisionItem, teleporting items inside/outside the sub if their physicsbody leaves/enters a hull, powercontainer charge can be changed in editor (i.e. batteries can be set to fully loaded) 2016-05-19 19:47:26 +03:00
Regalis
63e5f02057 Changes to submarine<->outside teleporting logic:
- contacts between limbs and the sub are temporarily disabled before teleporting to prevent the character from "exploding"
- impact damage is disabled for 0.25 seconds after teleporting in case the character still explodes
- characters with disabled impact damage won't damage the walls when hitting
- the collider of SubmarineBody is generated based on walls instead of hulls
- fixed Submarine.CheckVisibilit ignoring fixtures with (CollisionWall | CollisionLevel) collisioncategory
2016-05-18 11:43:22 +03:00
Regalis
be72fee824 Dirty workaround for background music breaking during loading (the music is switched when a round starts), the "wall" at the top of the levels is drawn on top of the lightmap, small fixes in AIObjectiveGetItem and BackGroundSpriteManager 2016-05-15 17:58:56 +03:00
Regalis
6537751961 Particle emitters can be assigned to statuseffects, fixed item.Submarine not being set correctly for throwable items, flare particles + sounds, nerfed some of the medical items 2016-05-11 20:16:50 +03:00
Regalis
1a3da8b29f Tweaked enemy AI idle behaviour (lighter avoid steering to make the enemies less likely to "bounce" from wall to wall in tight spaces), fix for wander steering breaking if the velocity of the character is Vector2.Zero, different tooltips for suicide button in SP and MP 2016-05-08 17:15:02 +03:00
Regalis
3f22b2e4df GUIMessageBoxes are drawn on top of everything else (they were obstructed by shiftsummary), placing background sprites based on level seed, instructions for dealing with broken junction boxes in tutorial 2016-05-01 18:55:44 +03:00
Regalis
63bb78b3ef Using TrySetLimbPosition when flipping a character to prevent limbs from going through walls, changes to outside->inside teleportation logic 2016-05-01 18:53:58 +03:00
Regalis
4cda429ab0 LightSources can be assigned to limbs, glowing watcher 2016-05-01 18:47:44 +03:00
Regalis
d3ab7946a8 Using ToLowerInvariant instead of ToLower (the game works for Turkish players now!)
http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html
2016-04-27 17:14:09 +03:00
Regalis
81ca1a409b Fixed NullReferenceException when attempting to send an ApplyStatusEffect update for an item that was removed from the inventory by the statuseffect (eg syringe with nitroglyserine which was dropped because of the explosion), oxygen level detoriates more slowly when unconscious, showing a tooltip for items in a subinventory, nitroglyserine explodes on first injection (instead of after a few injections when condition drops to zero) 2016-04-25 21:58:26 +03:00
Regalis
2136641609 Stun syncing bugfix, fixed dead/unconscious characters being unselectable in the info menu, pockets for doctors, fixed tutorial (map generation algorithm changes had made the level unplayable) 2016-04-25 19:16:01 +03:00
Regalis
45e3bed07c Some more fabricable chemicals, made cargo missions more common, items in characters' inventories aren't affected by fire 2016-04-24 20:33:33 +03:00
Regalis
c08029dea8 Handheld sonars only consume batteries when they're on, endworms aren't "flipped" when they turn around, every limb is checked in SubmarineBody.DisplaceCharacters (instead of just reflimb) 2016-04-24 20:31:26 +03:00