wchill / bindingofisaac

binding of isaac related stuff
1 stars 1 forks source link

Verify quality ranges on Switch 1.6/1.7 #6

Closed wchill closed 2 years ago

wchill commented 2 years ago

Repentance.nro on Switch 1.5 gives the following ranges:

function GetMinMaxQuality(score) {
    // repentance.nro 1.5
    let quality_max, quality_min;
    if (score > 34) {
        quality_max = 4;
        quality_min = 4;
    } else if (score > 30) {
        quality_max = 4;
        quality_min = 3;
    } else if (score > 26) {
        quality_max = 4;
        quality_min = 2;
    } else if (score > 22) {
        quality_max = 4;
        quality_min = 1;
    } else if (score > 18) {
        quality_max = 3;
        quality_min = 1;
    } else if (score > 14) {
        quality_max = 2;
        quality_min = 1;
    } else if (score > 8) {
        quality_max = 2;
        quality_min = 0;
    } else {
        quality_max = 1;
        quality_min = 0;
    }
    return {min: quality_min, max: quality_max}
}

However, isaac-ng.exe v1.7.7a and v1.7.8a give the following ranges:

function GetMinMaxQuality(score) {
    // isaac-ng.exe 1.7.7a
    let quality_max, quality_min;
    if (score > 34) {
        quality_max = 4;
        quality_min = 4;
    } else if (score > 30) {
        quality_max = 4;
        quality_min = 3;
    } else if (score > 26) {
        quality_max = 4;
        quality_min = 3;
    } else if (score > 22) {
        quality_max = 4;
        quality_min = 2;
    } else if (score > 18) {
        quality_max = 3;
        quality_min = 2;
    } else if (score > 14) {
        quality_max = 2;
        quality_min = 1;
    } else if (score > 8) {
        quality_max = 2;
        quality_min = 0;
    } else {
        quality_max = 1;
        quality_min = 0;
    }
    return {min: quality_min, max: quality_max}
}

Seems like there was an undocumented change in crafting between console release and v1.7.7 that needs to be verified

wchill commented 2 years ago

Reverse engineering Repentance.nro for 1.6 and 1.7 confirms, 1.6 uses the old ranges and 1.7 uses the new ones. (Odd since 1.6 should have PC 1.7.5 patches, and the new ranges were introduced in 1.7.5 according to patch notes)