Endworm attacks working, itemlabel text saving bugfix, deconstructors & fabricators need power, engine sprite, disable wire node dragging in character mode, only hit with one meleeweapon at a time, fixrequirement text overflow fix, mapentities can hace multiple categories, Gap.FindHull fix, Waypoint ladder & gap saving, stuff

This commit is contained in:
Regalis
2016-01-18 20:09:38 +02:00
parent 5f1cb194ab
commit 1a5b3fa66a
39 changed files with 206 additions and 152 deletions
@@ -35,7 +35,7 @@ namespace Barotrauma
public override bool IsCompleted()
{
return isCompleted;
return isCompleted || container.Inventory.FindItem(itemName)!=null;
}
protected override void Act(float deltaTime)
@@ -59,6 +59,8 @@ namespace Barotrauma
protected override void Act(float deltaTime)
{
if (target == character) return;
waitUntilPathUnreachable -= deltaTime;
if (character.SelectedConstruction!=null && character.SelectedConstruction.GetComponent<Ladder>()==null)
@@ -85,12 +85,12 @@ namespace Barotrauma
currentObjective = new AIObjectiveGoTo(Character.Controlled, character, true);
break;
case "wait":
currentObjective = new AIObjectiveGoTo(character.SimPosition, character, true);
currentObjective = new AIObjectiveGoTo(character, character, true);
break;
default:
if (order.TargetItem == null) return;
currentObjective = new AIObjectiveOperateItem(order.TargetItem, character, option);
currentObjective = new AIObjectiveOperateItem(order.TargetItem, character, option, null, order.UseController);
break;
}
@@ -30,15 +30,19 @@ namespace Barotrauma
get { return operateTarget; }
}
public AIObjectiveOperateItem(ItemComponent item, Character character, string option, Entity operateTarget = null)
public AIObjectiveOperateItem(ItemComponent item, Character character, string option, Entity operateTarget = null, bool useController = false)
:base (character, option)
{
component = item;
this.operateTarget = operateTarget;
var controllers = item.Item.GetConnectedComponents<Controller>();
if (controllers.Any()) component = controllers[0];
if (useController)
{
var controllers = item.Item.GetConnectedComponents<Controller>();
if (controllers.Any()) component = controllers[0];
}
canBeCompleted = true;
}