function Scratch3ProcedureBlocks(runtime) {
    /**
     * The runtime instantiating this block package.
     * @type {Runtime}
     */
    this.runtime = runtime;
}

/**
 * Retrieve the block primitives implemented by this package.
 * @return {Object.<string, Function>} Mapping of opcode to Function.
 */
Scratch3ProcedureBlocks.prototype.getPrimitives = function() {
    return {
        'procedures_defnoreturn': this.defNoReturn,
        'procedures_callnoreturn': this.callNoReturn,
        'procedures_defreturn': this.defReturn,
        'procedures_callreturn': this.callReturn,
        'procedures_report': this.report
    };
};

Scratch3ProcedureBlocks.prototype.defNoReturn = function () {
    // No-op: execute the blocks.
};

Scratch3ProcedureBlocks.prototype.defReturn = function (args, util) {
    // No-op: execute the blocks.
    util.stackFrame.REPORT = args.RETURN;
};

Scratch3ProcedureBlocks.prototype.callNoReturn = function (args, util) {
    if (!util.stackFrame.executed) {
        var procedureName = args.mutation.name;
        util.stackFrame.executed = true;
        util.startProcedure(procedureName);
    }
};

Scratch3ProcedureBlocks.prototype.callReturn = function (args, util) {
    if (!util.stackFrame.executed) {
        var procedureName = args.mutation.name;
        util.stackFrame.executed = true;
        util.startProcedure(procedureName);
    }
    if (util.stackFrame.REPORT) {
        return util.stackFrame.REPORT;
    } else {
        return false;
    }
};

Scratch3ProcedureBlocks.prototype.report = function (args, util) {
    // No-op: execute the blocks.
    util.stackFrame.REPORT = args.VALUE;
};

module.exports = Scratch3ProcedureBlocks;

@@ -1,16 +1,22 @@
+proc =
 function Scratch
@@ -1204,32 +1204,53 @@
  (args, util) %7B%0A
+    var proc = null;%0A
     if (!util.st
@@ -1358,32 +1358,39 @@
  = true;%0A       
+ proc =
  util.startProce
@@ -1428,71 +1428,37 @@
 if (
-util.stackFrame.REPORT) %7B%0A        return util.stackFrame.REPORT
+!proc) %7B%0A        return false
 ;%0A  
@@ -1472,36 +1472,41 @@
 e %7B%0A        
-return false
+console.log(proc)
 ;%0A    %7D%0A%7D;%0A%0A

Fix Return Values