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; } }