public void onTick(ArrayList<Thing> toMove, ArrayList<GridSpace> destinations) {
		// checks if there is a weapon modifier in the grid space, if so,
		// applies damage
		for (int i = 0; i < thingsInSpace.size(); i++) {
			if (thingsInSpace.get(i) instanceof Weapon) {
				for (int j = 0; j < thingsInSpace.size(); j++) {
					if (thingsInSpace.get(j) instanceof LivingThing) {
						((Weapon) thingsInSpace.get(i)).doDamage((LivingThing) thingsInSpace.get(j));
					}
				}
			}
		}

		// removes livingThings that have died
		ArrayList<LivingThing> livingThings = returnLivingThings();
		for (int k = 0; k < livingThings.size(); k++) {
			if (livingThings.get(k).getHp() <= 0) {
				while (remove(livingThings.get(k)) != null) {
					remove(livingThings.get(k));
				}
			}
		}

		// anything that needs to move is moved
		for (int l = 0; l < toMove.size(); l++) {
			destinations.get(l).add(remove(toMove.get(l)));
		}
	}