Commit Graph

4640 Commits

Author SHA1 Message Date
Joonas Rikkonen
aa541695fc Working towards making monsters eat dead characters (WIP) 2017-06-19 19:24:59 +03:00
juanjp600
16bc68d768 BarotraumaServer compiles
Cleanup + fixes coming up next
2017-06-18 22:41:44 -03:00
Faerdan
a09367c78f Updated and refactored how items and characters are chosen for interactions in the world. The new system has more precision, with items under the cursor taking priority (this helps with small items which are in front of large items). A new method CanInteractWith(Item) has been added to the Character class which does all validation of interaction with items, including new distance calculations based on bounding boxes. This gives more consistency in selecting and interacting with all sizes and shapes of items. Because of this pickdistance (not interactdistance) has been removed from all item configurations (in their XML config files) and the default InteractDistance for all items is now 120. 2017-06-18 22:30:54 +01:00
Juan Pablo Arce
8f37e14917 Split Machines ItemComponents
There's still a lot of work to do before we can get the server to compile
2017-06-18 14:36:11 -03:00
juanjp600
7168a534ed Further separation of client-specific code
Still not done here, just gonna push a commit now so I can pull this from elsewhere.
2017-06-16 16:02:07 -03:00
juanjp600
e4a878113f Fixed client compilation errors 2017-06-14 18:24:11 -03:00
juanjp600
96b08ed8aa Updated project files 2017-06-14 17:39:01 -03:00
juanjp600
7bc535780c Reducing usage of #if CLIENT / #elif SERVER
The server will implement some classes it probably shouldn't need because certain items or game states depend on them.
2017-06-14 17:30:40 -03:00
Joonas Rikkonen
06e23ffe6d Some tweaks to make enemy attacks less likely to miss:
- Option to select which limbs attack force is applied to (e.g. husks and crawlers now lunge forward when attacking).
- Enemies attack towards the closest limb of their target instead of the main limb.
2017-06-14 20:49:03 +03:00
Joonas Rikkonen
242da11e3f Attack configs determine whether an attack can sever limbs (instead of the amount of damage), new blood particles 2017-06-14 19:24:49 +03:00
Joonas Rikkonen
f6425a7229 Characters using FishAnimController twitch for a few seconds after dying 2017-06-14 19:23:07 +03:00
Joonas Rikkonen
680204b2cc Fixed severed limbs coming back together when SimplePhysicsEnabled is toggled off and on 2017-06-14 16:25:51 +03:00
Joonas Rikkonen
65db119158 Strong attacks can sever limbs (railguns now cut crawlers in half and threshers can rip off limbs) 2017-06-13 21:36:40 +03:00
Joonas Rikkonen
5cd2a5a838 NetEntityEventManager stops writing events to a message if the MTU is about to be exceeded and leaves the remaining events for the next message.
Also got rid of the (now unnecessary) "maximum EntityEvent size exceeded" debug assertion; character spawn messages often went over the limit, causing issues when running debug builds.
2017-06-13 20:47:15 +03:00
Joonas Rikkonen
12731a8137 New waterblood particle 2017-06-13 18:20:38 +03:00
Joonas Rikkonen
4d8da85956 Configured combat strengths for all enemy types, tweaked attack priorities & movement parameters 2017-06-13 17:10:44 +03:00
Joonas Rikkonen
3c3c530b44 Enemies move faster when attacking/fleeing 2017-06-13 17:08:23 +03:00
Joonas Rikkonen
c5ce1be6c2 Running speed can be adjusted from the character configs, added a parameter for the "running speed" in water (characters now swim faster when holding shift).
TODO: make AI-controlled monsters run/swim faster in specific situations (fleeing, attacking, etc).
2017-06-12 20:07:50 +03:00
Joonas Rikkonen
ed0a5f0f66 - Enemies with the "attack when provoked" setting only start attacking humans and structures if the attacker is a non-AI character or has a HumanAIController.
- Characters that launch a turret get assigned as the user of the projectile (-> shooting watchers with a railgun makes them attack).
- Increased watchers' attack range.
2017-06-12 18:56:33 +03:00
Joonas Rikkonen
c7d22ecb47 Option to make AI characters flee when their health is below a specific threshold 2017-06-12 18:50:15 +03:00
Joonas Rikkonen
0ba11e1fb6 Merge branch 'master' into ai-overhaul 2017-06-11 20:47:45 +03:00
Joonas Rikkonen
0af83e6caf Option to make MonsterEvents spawn more monsters when previous ones are killed (to prevent predators from clearing the ocean of weaker creatures) 2017-06-11 20:47:14 +03:00
Joonas Rikkonen
f469041363 Fixed exceptions in NetLobbyScreen.UpdatePlayerFrame if job preferences contain jobs that aren't in the list of job prefabs 2017-06-11 18:49:48 +03:00
Joonas Rikkonen
bf14882136 Merge pull request #10 from CommanderMark/master
Job preferences are now saved in config.xml.
2017-06-11 18:43:40 +03:00
juanjp600
389a9512d9 Removed default Program.cs from BarotraumaServer project 2017-06-11 03:58:41 -03:00
juanjp600
5636d1cdf9 Reorganized project to start work on dedicated server 2017-06-11 03:48:08 -03:00
CommanderMark
cc6e220691 Moved the execution of the save coroutine to JobNamePreferences' setter.
Juanjp pointed out that it would run the coroutine if you modified changes in the settings without yet pressing "Apply".

Also reworded the job descriptions.
2017-06-10 23:24:51 -04:00
CommanderMark
ed5039c43c The ordering of job preferences in net lobby are saved in config.xml.
- Added a coroutine which will save the current settings to the config.xml file if no further changes to the preferences are applied after 10 seconds.

-The default ordering is now Engineer, Mechanic, Captain, Security, Doctor and Assistant.
2017-06-10 22:17:16 -04:00
Joonas Rikkonen
9b0d7c1020 Added a method for changing a client's controlled character. Clients now get back control if their character is revived via the debug console.
+ It's possible to give clients control of monsters, which should add some new gameplay possibilitie. ;)
2017-06-10 15:07:10 +03:00
Joonas Rikkonen
8886409d56 Respawning characters get ID card tags for both the shuttle and the main sub 2017-06-07 21:14:38 +03:00
Joonas Rikkonen
9527d53558 Fixed exceptions in CharacterNetworking.WriteStatus if a characters stun timer goes over 60.0 2017-06-07 20:20:14 +03:00
Joonas Rikkonen
4395179afa v0.6.0.2 2017-06-05 21:56:22 +03:00
Joonas Rikkonen
2433a4d7fb Teleport command can be used on remote players, fixed launcher.csproj 2017-06-05 21:56:12 +03:00
Joonas Rikkonen
c71af56e78 Added teleport console command 2017-06-05 20:11:19 +03:00
Joonas Rikkonen
46957684f3 Clients and server limit the number of chat messages included in a message if their byte size exceeds the MTU 2017-06-05 19:30:31 +03:00
Joonas Rikkonen
acad7980f2 Added some null checks 2017-06-05 18:40:25 +03:00
Joonas Rikkonen
892d28fd39 Items can be fixed in single player again 2017-06-05 18:18:30 +03:00
Joonas Rikkonen
da3731bae6 Fixed nuclear shells exploding immediately when launched 2017-06-05 18:11:38 +03:00
Joonas Rikkonen
e3016fbbcf Legalese version of the EULA 2017-06-04 21:24:36 +03:00
Joonas Rikkonen
72ecba8e5b Fixed message fragmentation issues caused by initial lobby syncing. The size of the initial message exceeds MTU if the host has a large number of subs, and apparently Lidgren doesn't attempt to handle fragmenting by default when sending the messages with the unreliable delivery method. Now the initial syncing message is sent only once with the reliable delivery method which should be able to handle fragmented messages. 2017-06-04 19:56:57 +03:00
Joonas Rikkonen
55cb56da59 Server ends the round if all characters are either dead or unconscious when autorestart is on (instead of waiting for everyone to be dead) 2017-06-04 18:04:37 +03:00
Joonas Rikkonen
24424cfb51 IP address is logged in all login error messages and the errors are logged to both the debug console and the server log 2017-06-04 17:55:11 +03:00
Joonas Rikkonen
0864505fda Skill level syncing isn't dependent on the order of a character's skills. The skills are sorted in a descending order based on the skill level, which may cause the order to differ between the server and the clients after the initial random skill levels have been assigned. 2017-06-04 16:21:58 +03:00
Regalis
ce69e155fd Fixed GUITickBoxes appearing unchecked if they're set to the checked state when interaction with the box has been disabled (or vice versa) 2017-06-04 16:03:41 +03:00
Regalis
1ec3961fad Merge branch 'master' of https://github.com/Regalis11/barotrauma 2017-06-04 15:01:23 +03:00
Regalis
94c6a8ea1b Renamed project folders from Subsurface to Barotrauma 2017-06-04 15:00:53 +03:00
Joonas Rikkonen
3ec108b3f7 Added readme.md 2017-06-04 14:50:25 +03:00
Regalis
ad03c8bf0d EULA + readme update 2017-06-04 14:48:15 +03:00
Regalis
a0c23f8e94 v0.6.0.1 2017-06-04 14:10:17 +03:00
Regalis
466c7cb59d Servers report their game version and selected content package when registering to master server (not displayed anywhere atm but might be good to have the info available for future usage) 2017-06-03 19:40:12 +03:00