I2C data sending

void request() {
  Wire.write(decay);
  decay = 0;
 }

decay was typed as a "word" or unsigned int which is two bytes.

The wire library transmits bytes. You need to break decay into two bytes for transmission. There are several methods to do this.

The master receiver will also have request and reassemble two bytes.