Joonas Rikkonen
89b26008a6
Projectile damage range is set to the radius of the item's collider if the range is not given in the xml. Structure.AddDamage uses the edges of the sections to calculate the distance to a damage source, i.e. the damage area only has to "touch" the section to do damage. Closes #479
2018-07-16 15:44:26 +03:00
Joonas Rikkonen
015eacbcb0
Fixed GameAnalytics thread becoming active despite user statistics being disabled, causing the game to stay active in the background when quitting.
2018-07-13 11:29:11 +03:00
Joonas Rikkonen
4f874a276b
Fixed crashes caused by characters with no AI config due to missing SteeringManagers. Closes #469
2018-07-13 11:01:42 +03:00
Joonas Rikkonen
c7e220d222
Collecting some more usage statistics: selected game mode, mission, submarine, content package, traitors on/off, kills
2018-07-10 15:49:08 +03:00
Joonas Rikkonen
bb31fd1e73
Moved some client-specific limb code to the client project, dripping water particles when characters get out from water
2018-05-21 19:17:34 +03:00
Joonas Rikkonen
ceaba2f5ca
Fixed some entities occasionally not being removed at the end of a round. CargoMission removed the cargo items at the end of a round without checking if the items have already been removed, which could cause another entity to be removed from the entity dictionary if it's taken the ID of the cargo item. This prevented the new entity from being removed in Entity.RemoveAll, causing errors during the next round. Closes #278
2018-04-23 13:55:08 +03:00
Joonas Rikkonen
177f31d538
Some more logging to help diagnose #278 , a potential workaround to remove items/characters that Entity.RemoveAll failed to remove for some reason.
2018-04-20 16:50:10 +03:00
Joonas Rikkonen
eed7b72b4e
Fixed player-controlled creatures being able to do damage to themselves and RepairTools causing damage to the user regardless of the user's skills.
2018-04-18 15:04:18 +03:00
Joonas Rikkonen
276798d88b
Fixed null exception in IndoordsSteeringManager. Closes #326
2018-03-10 18:47:59 +02:00
Joonas Rikkonen
df746db421
Ladders can be climbed by holding up/down while standing next to them without having to select them first.
2018-03-08 11:01:17 +02:00
Joonas Rikkonen
4421c8a5de
Fixed camera shake continuing indefinitely if a character falls unconscious due to impact damage
2018-03-08 10:43:54 +02:00
Joonas Rikkonen
6ddcd65f18
RepairTools can do damage to characters by hitting the collider. Closes #299
2018-03-05 12:34:21 +02:00
Joonas Rikkonen
b49f47d3d9
Ladder waypoint generation fix: waypoints are not just placed at the top and bottom of the ladders (and at hatches on the ladders), but above every platform along the ladders (-> waypoints work correctly on ladders spanning through multiple floors). + Some ladder climbing fixes in IndoorsSteeringManager.
2018-03-02 17:45:13 +02:00
Joonas Rikkonen
07d3d69040
Equipped items can be swapped by double-clicking, fixed inventories getting messed up when swapping multi-slot items fails (e.g. drag a jumpsuit on an equipped diving suit).
2018-03-02 15:24:54 +02:00
Joonas Rikkonen
10189254b5
GrabLimb type is written in character network messages as byte instead of UInt16
2018-03-01 23:43:10 +02:00
Joonas Rikkonen
2b4c01d18b
Fixed debug assertion fail in World.Raycast if a limb is (almost) exactly at the position of a character's collider when calling TrySetLimbPosition.
2018-03-01 22:07:18 +02:00
Joonas Rikkonen
9f6868eaaa
Fixed crashing when attempting to perform CPR _as_ a headless character.
2018-03-01 10:17:32 +02:00
Joonas Rikkonen
38e80be05d
Some more debug logging
2018-02-28 18:04:40 +02:00
Joonas Rikkonen
c803e23c50
Added checks for character removal to a bunch of places. Some of these may not necessary, but at least MeleeWeapon, Projectile and Controller still accessed the user after the user had been removed.
2018-02-28 17:37:20 +02:00
Joonas Rikkonen
795b2e4cad
Fixed crashing when attempting to perform CPR on a character with no head. Closes #294
2018-02-27 15:01:53 +02:00
Joonas Rikkonen
77940fa992
Added some debug logging, Character.Revive removes the existing AITarget from the character before creating a new one
2018-02-26 18:05:03 +02:00
Joonas Rikkonen
7f740c2f67
Attempt to diagnose issues #278 , #284 and #291 . It appears that the game attempts to access the Limbs-field of a ragdoll after it's been set to null (which should only happen when the ragdoll is removed).
2018-02-26 15:06:00 +02:00
Joonas Rikkonen
24cb7a3659
Husk infection state can be decreased after the infection reaches the active state (causing the husk appendage to be removed). Calyxanide still has a conditional preventing the decrease, but now it's possible for modders to revert huskification without code modifications. Closes #258
2018-02-21 11:12:49 +02:00
Joonas Rikkonen
d414e8e103
Fixed StatusEffects not being able to decrease stun timer. Closes #255
2018-02-20 22:44:32 +02:00
Joonas Rikkonen
ff85400f01
Removed hard-coded path to humanhusk (now the huskified human config is found based on the name), characters with severed limbs cannot turn into husks. Closes #243
2018-02-05 15:55:32 +02:00
Joonas Rikkonen
60ad5ed3fb
Reverted b26b6a74. Making stunned characters receive damage from limb impacts caused them to suffer excessive amounts of damage when falling or getting thrown around when the sub hits something (e.g. a moloch attacking a sub could easily kill crew members by bumping the sub and falling down the stairs was often a death sentence). In general I don't think it's a good idea to apply impact damage from limb impacts, because the limbs may occasionally move or rotate at very high velocities due to the animations.
2018-02-05 11:16:03 +02:00
Joonas Rikkonen
dcb6de32c0
Some more hard-coded text removal
2018-01-31 19:01:48 +02:00
Joonas Rikkonen
729f850175
Fixed a "sequence contains no elements" exception in IndoorsSteeringManager
2018-01-26 17:28:48 +02:00
Joonas Rikkonen
e6e132aa1e
More gib particles when characters get crushed by pressure
2018-01-25 13:56:39 +02:00
Joonas Rikkonen
0f7befa09e
Fixed occasional invalid object header errors when attempting to send a status NetworkEvent for a character (easy way to reproduce was to kill multiple characters during the same frame with an explosion).
2018-01-16 17:02:01 +02:00
Joonas Rikkonen
a3f49e0bc5
Pathfinding fixes:
...
- The parent fields of the nodes are cleared before finding a path. Should fix the "constructing final path failed" errors.
- Nodes that have been marked as unreachable because of GetNodePenalty can still be used if another path to the node is found.
2018-01-11 16:03:16 +02:00
Joonas Rikkonen
e2c7b684de
Fixed character limb rendering order not being consistent (limbs with the same depth value being randomly drawn behind or in front of each other)
2018-01-11 13:32:21 +02:00
Joonas Rikkonen
c502d9545c
Moved StatusEffect related classes to their own folder and PropertyConditional to its own file.
2018-01-09 16:09:59 +02:00
Joonas Rikkonen
18ae9d7820
Base ItemComponents can apply OnUse statuseffects, grenades can be placed in detonators. Closes #113
2018-01-09 14:55:16 +02:00
Joonas Rikkonen
7187c277e7
Merge branch 'master' into moStuff
2018-01-09 10:38:06 +02:00
Joonas Rikkonen
1aa654a5a3
Severed joints can't be severed again (fixes severed limbs constantly emitting gore particles at the clients' side due to the constant status update messages)
2018-01-08 16:35:53 +02:00
Alex Noir
32a2b38112
Removed DamageSoundType and replaced it with a string "tag" instead to allow mod creators to create custom damage sounds
...
Fixed damagemodifier sounds being completely ignored due to a variable misname
Added structure damage possibility for melee weapons so you can break down windows with a crowbar in spectacular fashion (it's clearly a very inferior method to plasma cutters though)
Clown hitsounds are in now which is awesome. Beat up some clowns!
2017-12-30 13:46:59 +03:00
Joonas Rikkonen
bcd2582cf9
- More gore particles when severing limbs!
...
- Explosions can sever limbs even if the target character is dead. Now explosive projectiles can explode creatures into pieces even if the creature dies of the initial projectile impact and not the explosion.
- Disabled blood particles on carriers and fractal guardians.
2017-12-29 21:06:11 +02:00
Alex Noir
2cb0ee73be
Adds footstep sound variety, makes diving and clown suits have unique footstep sounds!
...
https://puu.sh/yQ8fs/61e12f15c6.webm
TODO: Get rid of the "damagesoundtype" system and replace it with simple "tag" checking to allow customizability from content pack side
Fix damagemodifier sounds never being played (I've never once heard LimbArmor play on anything but mantis)
2017-12-29 17:41:18 +03:00
Joonas Rikkonen
a8749f3d87
Fixed characters dragging husks by their tongue when GrabLimb is set to None, removed hardcoded texts from the grab button. Closes #210
2017-12-29 15:51:37 +02:00
Joonas Rikkonen
b84c965be3
More AI fixes/improvements:
...
- AI characters can refuel the reactor when needed.
- AIObjectiveContainItem.CanBeCompleted returns true if the target item cannot be obtained or if the container cannot be reached.
- AI characters only weld leaks that are part of some submarine (i.e. not ruins).
2017-12-28 19:44:48 +02:00
Alex Noir
ed98a6bc0b
well jeez who'da thunk it's my sorry ass forgetting to remove the second updateoxygen
...
Reverted OxygenAvailable values for diving gear + oxygen mask back to -100
Keeping sufforin OxygenAvailable at -10000 tho, that seems like the way to completely cut off any and all oxygen suppliers from acting
2017-12-28 19:28:45 +03:00
Alex Noir
1815062dda
Allow multiple calls of <Use/> for repeat-use chemicals or autoinjectors or something
2017-12-28 17:41:44 +03:00
Joonas Rikkonen
d074d3d443
Crew AI fixes:
...
- Characters can use oxygenite shards (or any other item with an "oxygensource" tag) in diving suits/masks.
- AIObjectiveFindDivingGear doesn't count as being completed if the character has diving gear in their inventory unless the character has equipped the gear.
- AIObjectiveGetItem doesn't count as being completed if equipping the target item is required and the character hasn't equipped it yet.
2017-12-28 12:53:23 +02:00
Alex Noir
741e26251d
Gets rid of coroutine spam by turning Duration into its own DurationListElement similar to how Delays were handled.
...
Added tags to Status Effects, which also allows for fancy stuff like checking for tags over duration elements for more interesting interactions.
Adds "stackable" variable which dictates whether or not the same duration/delay effect can be applied to the same target(s) at the same time. This is a bit imperfect at the moment.
Adds Chloromydride which is a non-stackable chem stabilizing critical health which stops its effects once the health is stabilized.
TODO: Remove target from Targets if he already has it, and if targets becomes empty, return;
TODO: Conditional tag-checking and status effect tag-checking, plus more "special" checks like SpeciesName and other non-serialized options.
TODO: StatusEffect Cancel component to stop delayed/duration effects
2017-12-28 13:21:32 +03:00
Alex Noir
e405c93581
Fix up conditionals
...
Make Calyxanide only cure non-turned humans and hurt turned player husks
Make husk eggs not stack infection with more injections
TODO: Allow conditionals to check for non-serialized properties like SpeciesName for absolute POWER
2017-12-27 23:18:59 +03:00
Alex Noir
7b336fc3f4
Fixes and stuff based on Regalis' review
2017-12-27 20:02:57 +03:00
Alex Noir
f5e785df60
Expose some stuff to sub editor, fix alien doors openable with use key, fixed some decon recipes
...
Beginnings of a Conditional system
2017-12-27 18:00:18 +03:00
Joonas Rikkonen
a5d2dd37f4
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
2017-12-26 20:04:47 +02:00
Joonas Rikkonen
bc6c828a14
Option to make limb attacks do damage based on contact with physics bodies instead of distance. Attacks also do damage to all sections of a structure that are within damage range. Closes #108
2017-12-26 20:02:33 +02:00