Exemple #1
0
    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);
    }
Exemple #2
0
    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);
        }
    }
Exemple #3
0
    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);
     }
 }
Exemple #5
0
 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);
     }
 }