public override void Activate(CreatureStates Creature, Raycast Raycast, State State) { if (State == State.Use) { if (DoubleSided) { for (int i = 0; i < MoveAmount; i++) { Creature.Move(Creature.Front); DirectionalSlash(Creature,Raycast,Vector.Up,Vector.Left); DirectionalSlash(Creature,Raycast,Vector.Up,Vector.Right); DirectionalSlash(Creature,Raycast,Vector.Down,Vector.Left); DirectionalSlash(Creature,Raycast,Vector.Down,Vector.Right); DirectionalSlash(Creature,Raycast,Vector.Left,Vector.Up); DirectionalSlash(Creature,Raycast,Vector.Left,Vector.Down); DirectionalSlash(Creature,Raycast,Vector.Right,Vector.Up); DirectionalSlash(Creature,Raycast,Vector.Right,Vector.Down); } Creature.Move(Creature.Front); } if (Auto) { for (int i = 0; i < MoveAmount; i++) { AutoSlash (Creature, Raycast); } Creature.Move(Creature.Front); } if (!DoubleSided && !Auto) { for (int i = 0; i < MoveAmount; i++) { Creature.Move(Creature.Front); DirectionalSlash(Creature,Raycast,Vector.Up,DirectionToHit[0]); DirectionalSlash(Creature,Raycast,Vector.Down,DirectionToHit[1]); DirectionalSlash(Creature,Raycast,Vector.Left,DirectionToHit[2]); DirectionalSlash(Creature,Raycast,Vector.Right,DirectionToHit[3]); } Creature.Move(Creature.Front); } } }
private void AutoSlash(CreatureStates Creature, Raycast Raycast) { Creature.Move(Creature.Front); AutoSlashDirections(Creature,Raycast,Vector.Up,Vector.Down,Vector.Left,Vector.Right); AutoSlashDirections(Creature,Raycast,Vector.Left,Vector.Right,Vector.Up,Vector.Down); }