static void et(int s, int, BS &b) { if (!b.canHeal(s)) return; b.sendItemMessage(12,s); b.healLife(s, b.poke(s).totalLifePoints()/16); }
static void ahpc(int s, int, BS &b) { if (!b.canHeal(s)) return; if (b.poke(s).lifePercent() <= 50) { b.disposeItem(s); b.sendItemMessage(18,s,0); b.healLife(s, 20); } }
static void udi(int s, int t, BS &b) { if (s==t) return; if (!b.canHeal(s) || turn(b,s).value("EncourageBug").toBool()) return; int damage = turn(b,s)["DamageInflicted"].toInt(); if (damage > 0) { b.sendItemMessage(24, s); b.healLife(s, damage/8); } }
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 et(int s, int, BS &b) { if(b.koed(s) || b.hasWorkingAbility(s, Ability::MagicGuard)) { return; } if(b.hasType(s, Pokemon::Poison)) { if (b.canHeal(s)) { b.sendItemMessage(16,s,0); b.healLife(s, b.poke(s).totalLifePoints()/16); } } else { b.sendItemMessage(16,s,1); b.inflictDamage(s, b.poke(s).totalLifePoints()/8,s); } }