Coverage Summary for Class: LocateQuest (com.mygdx.game.Quests)

Class Class, % Method, % Line, %
LocateQuest 100% (1/1) 100% (4/4) 92.9% (26/28)


1 package com.mygdx.game.Quests; 2  3 import com.badlogic.gdx.math.Vector2; 4 import com.mygdx.game.Entitys.Player; 5  6 import static com.mygdx.utils.Constants.TILE_SIZE; 7  8 /** 9  * Competed once the player has gone to a specific position 10  */ 11 public class LocateQuest extends Quest { 12  private final Vector2 loc; 13  private float radius; 14  15  /** 16  * Creates a Location Quest, with all the base attributes filled in with templates 17  */ 18  public LocateQuest() { 19  super(); 20  name = "Find a chest"; 21  description = "North east"; 22  plunderReward = 100; 23  pointReward = 150; 24  loc = new Vector2(); 25  radius = -1; 26  } 27  28  /** 29  * The loc to go to and radius that the play has to be in to complete it 30  * @param pos location to find 31  * @param r leeway in completion 32  */ 33  public LocateQuest(Vector2 pos, float r) { 34  this(); 35  loc.set(pos); 36  radius = r * r; 37  pos.scl(1 / TILE_SIZE).sub(50, 50); // centres on 0, 0 38  description = ""; 39  if (pos.y > 0) { 40  description += "North "; 41  } else if (pos.y < 0) { 42  description += "South "; 43  } 44  if (pos.x > 0) { 45  description += "East"; 46  } else if (pos.x < 0) { 47  description += "West"; 48  } 49  50  } 51  52  /** 53  * @return The completion status of the quest 54  */ 55  @Override 56  public boolean checkCompleted(Player p) { 57  if (radius == -1) { 58  return false; 59  } 60  Vector2 delta = p.getPosition().cpy(); 61  delta.sub(loc); 62  float l = delta.len2(); 63  isCompleted = l < radius; 64  return isCompleted; 65  } 66  67  /** 68  * @return The end location of the quest 69  */ 70  public Vector2 getLocation() { 71  return loc; 72  } 73 }