Exemple #1
0
 static void os(int s, int, BS &b) {
     b.sendItemMessage(40, s, 0);
     b.sendItemMessage(40, s, 1);
     b.inflictStatMod(s, Attack, 2, s, false);
     b.inflictConfused(s,s);
     b.disposeItem(s);
 }
Exemple #2
0
    static void os(int s, int, BS &b) {
        b.sendItemMessage(40, s, 0);
        b.sendItemMessage(40, s, 1);
        b.inflictStatMod(s, Attack, 2, s, false);
        b.inflictConfused(s,s);
        b.disposeItem(s);

        /* in GSC cart mechanics, infinite confusion */
        if (b.isConfused(s)) {
            if (b.gen() == Gen::GoldSilver || b.gen() == Gen::Crystal) {
                poke(b,s)["ConfusedCount"] = 255;
            }
        }
    }
    static void tp (int p, int s, BS &b) {
        if (b.koed(s))
            return;

        if (!testpinch(p, s, b, 4, true))
            return;

        b.sendBerryMessage(6,s,0);
        b.healLife(s, b.poke(s).totalLifePoints()/8);

        //Berries inflict confusion based on the hindering stat of a non-neutral Nature
        int plus = NatureInfo::StatBoosted(b.poke(s).nature());
        int minus = NatureInfo::StatHindered(b.poke(s).nature());
        if (plus != minus) {
            int arg = poke(b,s)["ItemArg"].toInt();
            if (arg == minus)
                b.inflictConfused(s,s);
        }
    }