(98f1dbf5e) Merge branch 'dev' into human-ai

This commit is contained in:
Joonas Rikkonen
2019-05-16 05:14:58 +03:00
parent 7f72f72ca7
commit b02565796a
22 changed files with 211 additions and 247 deletions
@@ -1116,6 +1116,8 @@ namespace Barotrauma
private bool IsProperlyLatchedOnSub => LatchOntoAI != null && LatchOntoAI.IsAttachedToSub && SelectedAiTarget?.Entity == wallTarget?.Structure;
private bool IsProperlyLatchedOnSub => LatchOntoAI != null && LatchOntoAI.IsAttachedToSub && SelectedAiTarget?.Entity == wallTarget?.Structure;
//goes through all the AItargets, evaluates how preferable it is to attack the target,
//whether the Character can see/hear the target and chooses the most preferable target within
//sight/hearing range
@@ -223,8 +223,10 @@ namespace Barotrauma
}
}
bool isDiving = character.AnimController.InWater && character.AnimController.HeadInWater;
//only humanoids can climb ladders
if (!character.AnimController.InWater && character.AnimController is HumanoidAnimController && IsNextLadderSameAsCurrent)
if (!isDiving && character.AnimController is HumanoidAnimController && IsNextLadderSameAsCurrent)
{
if (character.SelectedConstruction != currentPath.CurrentNode.Ladders.Item &&
currentPath.CurrentNode.Ladders.Item.IsInsideTrigger(character.WorldPosition))
@@ -234,7 +236,7 @@ namespace Barotrauma
}
var collider = character.AnimController.Collider;
if (character.IsClimbing && !character.AnimController.InWater)
if (character.IsClimbing && !isDiving)
{
Vector2 diff = currentPath.CurrentNode.SimPosition - pos;
bool nextLadderSameAsCurrent = IsNextLadderSameAsCurrent;
@@ -279,7 +281,7 @@ namespace Barotrauma
else if (character.AnimController.InWater)
{
// If the character is underwater, we don't need the ladders anymore
if (character.IsClimbing)
if (character.IsClimbing && isDiving)
{
character.AnimController.Anim = AnimController.Animation.None;
character.SelectedConstruction = null;
@@ -2729,6 +2729,10 @@ namespace Barotrauma
GameMain.GameSession?.CrewManager?.RemoveCharacter(this);
#endif
#if CLIENT
GameMain.GameSession?.CrewManager?.RemoveCharacter(this);
#endif
#if CLIENT
GameMain.GameSession?.CrewManager?.RemoveCharacter(this);
#endif
@@ -164,6 +164,25 @@ namespace Barotrauma.Items.Components
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
@@ -614,6 +614,19 @@ namespace Barotrauma.Items.Components
return true;
}
public override void OnItemLoaded()
{
sonar = item.GetComponent<Sonar>();
}
public override bool Select(Character character)
{
if (!CanBeSelected) return false;
user = character;
return true;
}
public override void Update(float deltaTime, Camera cam)
{
networkUpdateTimer -= deltaTime;
@@ -1212,6 +1212,10 @@ namespace Barotrauma
{
ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime);
}
if (!broken)
{
ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime);
}
ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime);
if (body == null || !body.Enabled || !inWater || ParentInventory != null || Removed) { return; }
@@ -717,6 +717,25 @@ namespace Barotrauma
}
}
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public override Rectangle Rect
{
get
@@ -162,6 +162,21 @@ namespace Barotrauma
get { return binding; }
}
public void SetState()
{
hit = binding.IsHit();
if (hit) hitQueue = true;
held = binding.IsDown();
if (held) heldQueue = true;
}
#endif
public KeyOrMouse State
{
get { return binding; }
}
public void SetState()
{
hit = binding.IsHit();
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+59
View File
@@ -1,3 +1,62 @@
---------------------------------------------------------------------------------------------------------
v0.8.10.0
---------------------------------------------------------------------------------------------------------
Additions and changes:
- Completely remade tutorials (separate tutorial for each job).
- Added a door and hatch variants with integrated buttons.
- New outpost graphics.
- Added swarm behavior to crawlers.
- Added a new mission where you have to kill a swarm of crawlers.
- Numerous crew AI improvements.
- Balanced item deterioration values.
- Mineral sprites change when collected from the environment.
- Added an option to disable directional voice chat.
- Added automatic submarine repair option to the campaign.
- Added "all" tab to the entity list in the submarine editor.
- Hide the crew area, chat box and server buttons when operating a turret or searchlight.
- Doors can be repaired with a wrench.
- Some new lamp variants.
- Display a progress bar when welding doors shut.
- Items that don't give any materials when deconstructed cannot be deconstructed.
- Added a console command that resets selected items and structures to prefab values ("resetselected").
- Option to toggle structure drop shadows and edit the position of the shadow in the sub editor.
- Minor physics optimizations.
- Disable background music & ambience in the character editor.
- More pronounced limping animation when a character's legs are injured.
- The inventory slots next to the character portrait (ID card, uniform, etc) can be hidden.
- Some new sound effects and background music.
- All walls can be scaled in the submarine editor.
- Structure damage is visualized when using debugdraw.
- Improved font scaling on different resolutions.
- Added Steam overlay support to Workshop.
- Server list shows which servers have voice chat enabled.
- Show a message box notifying respawning traitors that they're no longer a traitor.
- Added a search bar to the store menu.
- Added search bars to sub lists in campaign setup UI and sub editor.
Bugfixes:
- Don't allow rewiring and deattaching an item at the same time (happened when interacting with an item
while holding both a screwdriver and a wrench).
- Fixed bots being unable to complete almost any task in the multiplayer due to a bug that caused
them to interpret the sub as another crew's submarine.
- When spawning multiple monsters at the same time, spread them around a bit to prevent the players
from getting attacked by a ball of overlapping crawlers.
- Fixed huge lag spikes when a character tries to escape from an enemy but can't find a path away from it.
- Fixed file transfer progress bars not being visible in the server lobby.
- Fixed crashing when attempting to start a mission round with mission type set to None.
- Fixed ElectricalDischarger electricity effect staying visible if the item breaks or the component
is deactivated from outside (e.g. via a StatusEffect or the parent component).
- Fixed specular maps being rendered on top of characters when outside the sub.
- Fixed excessively bright lights around sonar flora and lava vents.
- Fixes to item collider sizes.
- Fixed inability to scroll through long texts in the sub editor's textboxes.
- Fixed clients not being able to see other characters in spectator if they've died far away from the sub.
- Fixed non-latin characters not being displayed correctly in Workshop item texts.
- Don't prevent selecting items in the sub editor when the cursor is on a wire node, because it makes it
very difficult (or impossible) to select small items in the wiring mode.
- Fixed crashing when attempting to use the "spawnitem" command when a round is not running.
---------------------------------------------------------------------------------------------------------
v0.8.9.10
---------------------------------------------------------------------------------------------------------