anchor.diff:          this.relationships[i].value += modValue * stat.multiplier;
         }
       }else{
  -      this[stat.name] += modValue * stat.multiplier;
  +      this.stats[stat.name] += modValue * stat.multiplier;
       }
     }
  +  //dynamic is right here.
     dynamic getStat(statName){
  -    num ret = 0;
  -    ret += this[statName] ;//for game entitties RELATIONSHIPS will ALSO be a fake as fuck int var thingy.;
  -    if(statName == "RELATIONSHIPS"){ //in addition to the for loop of doom.
  -      for(num i = 0; i<this.relationships.length; i++){
  -        ret += this.relationships[i].value;s
  -      }
  -    }
  -    for(num i = 0; i<this.buffs.length; i++){
  -      var b = this.buffs[i];
  -      if(b.name == statName) ret += b.value;
  -    }
  -    if(this.crowned) ret += this.crowned.getStat(statName); //so meta.
  -    return ret;
  +    return this.stats[statName];
     }
   
     void setStatsHash(hashStats){
       for (var key in hashStats){
  -      this[key] = hashStats[key];
  +      this.stats[key] =  hashStats[key];
       }
  -    this.currentHP = Math.max(this.hp, 10); //no negative hp asshole.
  +    this.stats["currentHP"] =  Math.max(this.stats["hp"], 10); //no negative hp asshole.
     }
  -  void setStats(minLuck, maxLuck, hp, mobility, sanity, freeWill, power, abscondable, canAbscond, framotifs, grist){
  -    this.minLuck = minLuck;
  -    this.hp = hp;
  -    this.currentHP = this.hp;
  -    this.mobility = mobility;
  -    this.maxLuck = maxLuck;
  -    this.sanity = sanity;
  -    this.freeWill = freeWill;
  -    this.power = power;
  -    this.abscondable = abscondable;
  -    this.canAbscond = canAbscond;
  -    this.grist = grist;
  -  }
  +
     dynamic htmlTitle(){
       String ret = "";
       if(this.crowned != null) ret+="Crowned ";
       var pname = this.name;
       if(pname == "Yaldabaoth"){
         var misNames = ['Yaldobob', 'Yolobroth', 'Yodelbooger', "Yaldabruh", 'Yogertboner','Yodelboth'];
  -      print("Yaldobooger!!! " + this.session.session_d);
  +      print("Yaldobooger!!! " + this.session.session_id);
         pname = getRandomElementFromArray(misNames);
       }
       if(this.corrupted) pname = Zalgo.generate(this.name); //will i let denizens and royalty get corrupted???
  
positive.code:   List<GameEntity> doomedTimeClones = []; //help fight the final boss(es).
    String causeOfDeath = ""; //fill in every time you die. only matters if you're dead at end
    GameEntity crowned = null; //TODO figure out how this should work. for now, crowns count as Game Entities, but should be an Item eventually
    GameEntity(this.name, this.id, this.session);
  
    //TODO grab out every method that current gameEntity, Player and PlayerSnapshot are required to have.
    //TODO make sure Player's @overide them.
  
negative.code:     return [];
    }
  
    dynamic allStats(){
      return this.stats.keys;
    }
  
  }
  