anchor.diff:      }
   
   
  -    static void drawDreamBubble(CanvasElement canvas) {
  -        if (checkSimMode() == true) {
  -            return;
  -        }
  -        CanvasRenderingContext2D ctx = canvas.getContext('2d');
  +    static void drawDreamBubble(CanvasElement canvas) async {
  +        if (checkSimMode() == true) {
  +            return;
  +        }
           String imageString = "dreambubbles.png";
  -        addImageTag(imageString);
  -        ImageElement img = imageSelector(imageString);
  -        ctx.drawImage(img, 0, 0);
  -    }
  -
  -
  -    static void drawHorrorterror(CanvasElement canvas) {
  +        await drawWhateverFuture(canvas, imageString);
  +    }
  +
  +
  +    static void drawHorrorterror(CanvasElement canvas) async {
           if (checkSimMode() == true) {
               return;
           }
           CanvasRenderingContext2D ctx = canvas.getContext('2d');
           String imageString = "horrorterror.png";
  -        addImageTag(imageString);
  -        ImageElement img = imageSelector(imageString);
  -        ctx.drawImage(img, 0, 0);
  -    }
  -
  -
  +        await drawWhateverFuture(canvas, imageString);
  +
  +    }
  +
  +//TODO figure out how to upgrade this to async
       static void drawMoon(CanvasElement canvas, Player player) {
           if (checkSimMode() == true) {
               return;
  
positive.code: 
      static String playerToGodBody(Player player) {
          if (easter_egg) return playerToEggBody(player);
          return "Bodies/god${(classNameToInt(player.class_name)+1)}.png";
      }
  
  
  
negative.code: 
      static void dreamSprite(CanvasElement canvas, Player player) async {
          String imageString = playerToDreamBody(player);
          await drawWhateverFuture(canvas, imageString);
          dreamPalletSwap(canvas, player);
      }
  