anchor.diff:    List<Team> teams; //for now, assume 2 teams, but could support more in future. think terezi +dave +dirk fighting two non-allied Jacks
     num turnsPassed = 0; //keep track for interuptions and etc.
     Strife(this.teams);
  +  num timeTillRocks = 99999999; //unless it's a royalty fight, assume no rocks.
   
     //TODO for now keeping old code as reference material, but delete it whole sale. it is too tangled up in "this" is a GameEntity.
   
  
positive.code:     }
      return ret;
    }
    List<GameEntity> getLivingMinusAbsconded(){
      var living = getLiving();
      for(num i = 0; i<this.absconded.length; i++){
  
negative.code:     //if not, call start again with numTurns ++
      teams.sort(); //we do this every turn because mobility can change and should effect turn order.
      for(Team team in teams) {
          team.takeTurn(div, turnsPassed, teams); //will handling resetting player availablity
      }
      checkForRocks();
      if(strifeEnded()) {
        processEnding();
      }else {
         turnsPassed ++;
         startTurn(div);
      }
    }
  
    void checkForRocks() {
        if(turnsPassed > timeTillRocks) {
          for(Team team in teams) {
              team.killEveryone("from terminal meteors to the face");
          }
        }
    }
  
    //a strife is over when only one team is capable of fighting anymore. livingMinusAbsconded == 0;
  