MathIsFun0 / Immolate

An OpenCL seed searcher for Balatro.
Other
62 stars 13 forks source link

No results with showman_double_legendary #35

Open Kurokun01 opened 1 week ago

Kurokun01 commented 1 week ago

Immolate works with other filters like double_legendary and perkeo_observatory but gives no results when using showman_double_legendary or other custom filters. image I'm not sure if it's a GPU issue or anything. image

MathIsFun0 commented 1 week ago
// Searches for a first shop with showman and a pack that gives 2 legendary jokers, coupon tag included
#include "lib/immolate.cl"
long filter(instance* inst) {
    int ante = 1;
    inst->params.showman = true;

    if (next_tag(inst, 1) != Coupon_Tag) {
        return 0;
    }

    if (next_shop_item(inst, ante).value != Showman && next_shop_item(inst, ante).value != Showman) {
        return 1;
    }

    for (int packIndex = 1; packIndex <= 2; packIndex++) {
        pack _pack = pack_info(next_pack(inst, 1));
        item cards[5];
        if (_pack.choices != 2) {
            continue;
        }

        if (_pack.type == Arcana_Pack) {
            arcana_pack(cards, _pack.size, inst, 1);
        } else if (_pack.type == Spectral_Pack) {
            spectral_pack(cards, _pack.size, inst, 1);
        } else {
            continue;
        }

        int score = 0;
        for (int i = 0; i < _pack.size; i++) {
            if (cards[i] == The_Soul) {
                score++;
            }
        }

        return score + 2;
    }

    return 0;
}

Try using this filter. It should return a score of 4 on success but will give you seeds that are close calls. Much fewer seeds satisfy the conditions for showman_double_legendary, which might be the reason why you haven't found any after searching for a long time.

Kurokun01 commented 1 week ago

I see, thanks for the filter. Does Immolate just time out after a certain amount of time searching due to being unable to find anything?