static void uodr(int s, int, BS &b) {
     if (!b.attacking()) {
         return;
     }
     if (b.attacker() == s)
         return;
     if (fturn(b,b.attacker()).typeMod <= 0)
         return;
     if (b.canHeal(s,BS::HealByItem,b.poke(s).item())) {
         b.eatBerry(s);
         b.sendBerryMessage(6,s,0);
         b.healLife(s, b.poke(s).totalLifePoints()/5);
     }
 }
 static void ahpc(int p, int s, BS &b) {
     /* Those berries don't activate immediately when attacked by offensive moves,
        but only after side effects applied. At that time, the battle thread will call
        the effect "TestPinch"
     */
     if (b.attacked() == s && tmove(b,b.attacker()).power > 0)
         return;
     tp(p, s, b);
 }
 static void btl(int s, int, BS &b) {
     if (tmove(b,b.attacker()).power > 0) {
         tmove(b,s).critRaise += 2;
     }
 }