public int performShot(){
	Debug.game("'" + dealingPlayer.username + "' performing droid shot with "
			   + directions.length + " steps");
	int range = 3;
	int damage = 22;
	int validStepsTaken = 0;
	if(level == 2) {damage = 24; range = 4;}
	if(level == 3) {damage = 26; range = 5;}
	Tile currentTile = position;
	for(int i = 0; i < range; i++){
	    if(i > directions.length - 1){
		Debug.debug("no more commands, detonating...");
		break;
	    }
	    if(!performOneStep(directions[i])){
		Debug.warn("Droid hit inaccessible tile, detonating...");
		break;
	    }
	    else {
		validStepsTaken++;
		Debug.debug("droid executed command successfully, reading next instruction...");
	    }
	}
	explode(damage);
	return validStepsTaken;
    }