(deeaf479b) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
This commit is contained in:
@@ -218,22 +218,6 @@ namespace Barotrauma
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool RefreshJoinButtonState(GUIComponent component, object obj)
|
|
||||||
{
|
|
||||||
if (obj == null || waitingForRefresh) { return false; }
|
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(clientNameBox.Text) && !string.IsNullOrWhiteSpace(ipBox.Text))
|
|
||||||
{
|
|
||||||
joinButton.Enabled = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
joinButton.Enabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool SelectServer(GUIComponent component, object obj)
|
private bool SelectServer(GUIComponent component, object obj)
|
||||||
{
|
{
|
||||||
if (obj == null || waitingForRefresh) { return false; }
|
if (obj == null || waitingForRefresh) { return false; }
|
||||||
|
|||||||
@@ -553,6 +553,8 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public static bool HasItem(Character character, string tag, string containedTag, float conditionPercentage = 0)
|
public static bool HasItem(Character character, string tag, string containedTag, float conditionPercentage = 0)
|
||||||
{
|
{
|
||||||
|
if (character == null) { return false; }
|
||||||
|
if (character.Inventory == null) { return false; }
|
||||||
var item = character.Inventory.FindItemByTag(tag);
|
var item = character.Inventory.FindItemByTag(tag);
|
||||||
return item != null &&
|
return item != null &&
|
||||||
item.ConditionPercentage > conditionPercentage &&
|
item.ConditionPercentage > conditionPercentage &&
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public Func<bool> customCondition;
|
public Func<bool> customCondition;
|
||||||
|
|
||||||
|
public bool followControlledCharacter;
|
||||||
|
public bool mimic;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Display units
|
/// Display units
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -24,9 +27,11 @@ namespace Barotrauma
|
|||||||
public bool AllowGoingOutside { get; set; }
|
public bool AllowGoingOutside { get; set; }
|
||||||
public bool CheckVisibility { get; set; }
|
public bool CheckVisibility { get; set; }
|
||||||
|
|
||||||
|
public ISpatialEntity Target { get; private set; }
|
||||||
|
|
||||||
public override float GetPriority()
|
public override float GetPriority()
|
||||||
{
|
{
|
||||||
if (FollowControlledCharacter && Character.Controlled == null) { return 0.0f; }
|
if (followControlledCharacter && Character.Controlled == null) { return 0.0f; }
|
||||||
if (Target is Entity e && e.Removed) { return 0.0f; }
|
if (Target is Entity e && e.Removed) { return 0.0f; }
|
||||||
if (IgnoreIfTargetDead && Target is Character character && character.IsDead) { return 0.0f; }
|
if (IgnoreIfTargetDead && Target is Character character && character.IsDead) { return 0.0f; }
|
||||||
if (objectiveManager.CurrentOrder == this)
|
if (objectiveManager.CurrentOrder == this)
|
||||||
@@ -36,10 +41,6 @@ namespace Barotrauma
|
|||||||
return 1.0f;
|
return 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ISpatialEntity Target { get; private set; }
|
|
||||||
|
|
||||||
public bool FollowControlledCharacter;
|
|
||||||
|
|
||||||
public AIObjectiveGoTo(ISpatialEntity target, Character character, AIObjectiveManager objectiveManager, bool repeat = false, bool getDivingGearIfNeeded = true, float priorityModifier = 1)
|
public AIObjectiveGoTo(ISpatialEntity target, Character character, AIObjectiveManager objectiveManager, bool repeat = false, bool getDivingGearIfNeeded = true, float priorityModifier = 1)
|
||||||
: base (character, objectiveManager, priorityModifier)
|
: base (character, objectiveManager, priorityModifier)
|
||||||
{
|
{
|
||||||
@@ -52,7 +53,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
protected override void Act(float deltaTime)
|
protected override void Act(float deltaTime)
|
||||||
{
|
{
|
||||||
if (FollowControlledCharacter)
|
if (followControlledCharacter)
|
||||||
{
|
{
|
||||||
if (Character.Controlled == null)
|
if (Character.Controlled == null)
|
||||||
{
|
{
|
||||||
@@ -137,8 +138,9 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
if (getDivingGearIfNeeded)
|
if (getDivingGearIfNeeded)
|
||||||
{
|
{
|
||||||
bool needsDivingGear = HumanAIController.NeedsDivingGear(targetHull);
|
Character followTarget = Target as Character;
|
||||||
bool needsDivingSuit = needsDivingGear && (targetHull == null || targetIsOutside || targetHull.WaterPercentage > 90);
|
bool needsDivingGear = HumanAIController.NeedsDivingGear(targetHull) || mimic && HumanAIController.HasDivingMask(followTarget);
|
||||||
|
bool needsDivingSuit = needsDivingGear && (targetHull == null || targetIsOutside || targetHull.WaterPercentage > 90) || mimic && HumanAIController.HasDivingSuit(followTarget);
|
||||||
bool needsEquipment = false;
|
bool needsEquipment = false;
|
||||||
if (needsDivingSuit)
|
if (needsDivingSuit)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -239,7 +239,8 @@ namespace Barotrauma
|
|||||||
CloseEnough = 150,
|
CloseEnough = 150,
|
||||||
AllowGoingOutside = true,
|
AllowGoingOutside = true,
|
||||||
IgnoreIfTargetDead = true,
|
IgnoreIfTargetDead = true,
|
||||||
FollowControlledCharacter = orderGiver == character
|
followControlledCharacter = orderGiver == character,
|
||||||
|
mimic = true
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
case "wait":
|
case "wait":
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user