public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { started = true; target = bot.attackTarget.transform; targetPos = (Vector2)target.position + (Random.insideUnitCircle * randoDist); swingMax = Random.Range(0.2f, maxWig); swingTimer = swingMax; } swingTimer -= Time.deltaTime; if (swingTimer <= 0) { swingTimer = swingMax; if (target) { targetPos = (Vector2)target.position + (Random.insideUnitCircle * randoDist); } } bot.Move(targetPos); timer -= Time.deltaTime; if (timer <= 0) { timer = timerMax; started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { if (!target) { return(NodeState.Failure); } //if (Vector2.Distance(target.position, bot.gameObject.transform.position) > bot.squad.SquadRadius) { bot.Move(target.position); return(NodeState.Success); }
public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { started = true; } timer -= Time.deltaTime; bot.Dash(); bot.Move(bot.attackTarget.transform.position); if (timer <= 0) { timer = timerMax; started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { if (!started) { started = true; //target = bot.squad.FindMedic(); } if (target == null) { return(NodeState.Failure); } if (Vector2.Distance(target.position, pos.position) > 0.5f) { bot.Move(target.position); return(NodeState.Running); } else { started = false; return(NodeState.Success); } }
public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { target = bot.attackTarget.transform; recenterTarget = (Vector2)target.position + (Random.insideUnitCircle * recenterDist); started = true; } timer -= Time.deltaTime; bot.Dash(); bot.Move(recenterTarget); if (timer <= 0) { timer = timerMax + Random.Range(-1f, 1f); started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { target = bot.attackTarget.transform; Vector2 worldTarget = (target.position - bot.transform.position).normalized * 50; chargeTarget = bot.transform.TransformPoint(worldTarget); started = true; } timer -= Time.deltaTime; bot.Dash(); bot.Move(chargeTarget); if (timer <= 0) { timer = timerMax + Random.Range(-1f, 1f); started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { bot.Hold(); started = true; } timer -= Time.deltaTime; target = bot.attackTarget.transform; targetPos = (pos.position - target.position).normalized * prefDist; bot.Move(targetPos); if (timer <= 0) { timer = timerMax; started = false; bot.Hold(false); return((Mathf.Abs(prefDist - Vector2.Distance(pos.position, targetPos)) < leeway) ? NodeState.Success : NodeState.Failure); } return(NodeState.Running); }
public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { started = true; Vector2 target = ((Vector2)bot.attackTarget.transform.position - body.weapon.pointer.ForcePoint).normalized; target = bot.transform.InverseTransformDirection(target); target = new Vector2(target.x + UnityEngine.Random.Range(-0.1f, 0.1f), target.y).normalized; bot.Move(bot.transform.TransformDirection(target)); } timer -= Time.deltaTime; bot.Brace(); if (timer <= 0) { timer = UnityEngine.Random.Range(0.4f, timerMax); started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { bot.Move(new Vector2(bot.transform.position.x, bot.squad.direction * -10000)); bot.Dash(); return(NodeState.Running); }