本文整理汇总了C++中BS::healConfused方法的典型用法代码示例。如果您正苦于以下问题:C++ BS::healConfused方法的具体用法?C++ BS::healConfused怎么用?C++ BS::healConfused使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BS
的用法示例。
在下文中一共展示了BS::healConfused方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ti
static void ti(int p, int s, BS &b) {
QString sarg = poke(b,p).value("ItemArg").toString();
int arg = sarg.section("_", 0, 0).toInt();
bool permanent = sarg.section("_", 1) == "1";
if (permanent) {
turn(b,p)["PermanentItem"] = true;
}
if (b.koed(s))
return;
int status = b.poke(s).status();
bool conf = b.isConfused(s);
/* Confusion berry */
if (arg == -1) {
if (conf) {
b.healConfused(s);
b.sendBerryMessage(1, s, 0);
}
return;
}
/* Lum berry */
if (conf && arg == 0) {
b.healConfused(s);
goto end;
}
if (status == Pokemon::Fine) {
return;
}
/* LumBerry */
if (arg == 0) {
if (status == Pokemon::Fine)
return;
goto end;
} else { /* Other Status Berry */
if (status == arg) {
goto end;
}
}
return;
end:
b.healStatus(s, status);
b.sendBerryMessage(1, s, arg + 1);
}
示例2: asc
static void asc(int s, int, BS &b) {
if (b.koed(s))
return;
int status = b.poke(s).status();
bool conf = b.isConfused(s);
int arg = poke(b,s)["ItemArg"].toInt();
/* Confusion berry */
if (arg == -1) {
if (conf) {
b.eatBerry(s);
b.healConfused(s);
b.sendBerryMessage(1, s, 0);
}
return;
}
/* Lum berry */
if (conf && arg == 0) {
b.healConfused(s);
goto end;
}
if (status == Pokemon::Fine) {
return;
}
/* LumBerry */
if (arg == 0) {
goto end;
} /* Poison Berry */
else if (arg == Pokemon::Poisoned) {
if (status == Pokemon::Poisoned || status == Pokemon::DeeplyPoisoned) {
goto end;
}
} else { /* Other Status Berry */
if (status == arg) {
goto end;
}
}
return;
end:
b.eatBerry(s);
b.healStatus(s, status);
b.sendBerryMessage(1, s, arg + 1);
}