anchor.diff:  import "SBURBSim.dart";
  +import 'dart:convert';
   
   /*
   stat effects from a fraymotif are temporary. wear off after battle.
  
positive.code:         json["name"] = name;
          json["tier"] = "$tier";
          json["desc"] = desc;
          json["target"] = "${effects.first.target}";
          //just assume all fraymotifs just have each of the 4 main effects, targeted at the same thing
          //allEffectsTargetOne
          return json;
      }
  
      @override
  
negative.code: 
      /// target 0  = self, 1 = allies, 2 = enemy 3 = enemies.
      FraymotifEffect(Stat this.statName, num this.target, bool this.damageInsteadOfBuff, [String this.flavorText = ""]) {}
  
      JSONObject toJSON() {
        JSONObject json = new JSONObject();
        json["stat"] = statName.name;
        json["target"] = "$target";
        json["damageInsteadOfBuff"] = damageInsteadOfBuff.toString();
      }
  
      void copyFromJSON(String jsonString) {
        JSONObject json = new JSONObject.fromJSONString(jsonString);
        statName = Stats.byName[json["name"]];
        target = int.parse(json["target"]);
        if(json["damageInsteadOfBuff"] == "true") {
          damageInsteadOfBuff = true;
        }else {
          damageInsteadOfBuff = false;
        }
      }
  
  
      static List<FraymotifEffect> allEffectsTargetAll() {
          List<FraymotifEffect> ret = new List<FraymotifEffect>();
  