本文整理汇总了C++中BS::inflictStatMod方法的典型用法代码示例。如果您正苦于以下问题:C++ BS::inflictStatMod方法的具体用法?C++ BS::inflictStatMod怎么用?C++ BS::inflictStatMod使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BS
的用法示例。
在下文中一共展示了BS::inflictStatMod方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: uodr
static void uodr(int s, int t, BS &b) {
if (fturn(b,t).typeMod > 0 && !b.koed(s)) {
b.sendItemMessage(43, s);
b.disposeItem(s);
b.inflictStatMod(s, Attack, 2, s);
b.inflictStatMod(s, SpAttack, 2, s);
}
}
示例2: uodr
static void uodr(int s, int t, BS &b) {
if (forbidden_moves.contains(move(b,t)))
return;
if (fturn(b,t).typeMod > 0 && !b.koed(s)) {
b.sendItemMessage(43, s);
b.disposeItem(s);
b.inflictStatMod(s, Attack, 2, s);
b.inflictStatMod(s, SpAttack, 2, s);
}
}
示例3: os
static void os(int s, int, BS &b) {
b.sendItemMessage(40, s, 0);
b.sendItemMessage(40, s, 1);
b.inflictStatMod(s, Attack, 2, s, false);
b.inflictConfused(s,s);
b.disposeItem(s);
}
示例4: tp
static void tp(int p, int s, BS &b) {
if (!b.isOut(s)) {
return;
}
int berry = b.poke(s).item();
QVector<int> stats;
for (int i = Attack; i <= Evasion; i++) {
if (fpoke(b,s).boosts[i] < 6) {
stats.push_back(i);
}
}
if (stats.empty())
return;
if (!testpinch(p, s, b, 4, false))
return;
int stat = stats[b.randint(stats.size())];
if (b.hasWorkingAbility(s, Ability::Contrary)) {
b.sendBerryMessage(9,s,1,s, berry, stat);
} else {
b.sendBerryMessage(9,s,0,s, berry, stat);
}
b.inflictStatMod(s, stat, 2, s, false);
}
示例5: ubh
static void ubh(int s, int t, BS &b) {
int tp = poke(b,s)["ItemArg"].toString().section('_', 0, 0).toInt();
if (!b.koed(s) && type(b,t) == tp) {
int stat = poke(b,s)["ItemArg"].toString().section('_', 1).toInt();
if (b.hasMaximalStatMod(s, stat))
return;
b.sendItemMessage(36, s, 0, t, b.poke(s).item(), stat);
b.disposeItem(s);
b.inflictStatMod(s, stat, 1, s, false);
}
}
示例6: os
static void os(int s, int, BS &b) {
b.sendItemMessage(40, s, 0);
b.sendItemMessage(40, s, 1);
b.inflictStatMod(s, Attack, 2, s, false);
b.inflictConfused(s,s);
b.disposeItem(s);
/* in GSC cart mechanics, infinite confusion */
if (b.isConfused(s)) {
if (b.gen() == Gen::GoldSilver || b.gen() == Gen::Crystal) {
poke(b,s)["ConfusedCount"] = 255;
}
}
}
示例7: ubh
static void ubh(int s, int t, BS &b) {
if (!b.koed(s) && type(b,t) == poke(b,s)["ItemArg"].toInt()) {
int stat;
if (b.poke(s).item() == Item::RechargeableBattery) {
if (b.hasMaximalStatMod(s, Attack))
return;
stat = Attack;
} else {
if (b.hasMaximalStatMod(s, SpAttack))
return;
stat = SpAttack;
}
b.sendItemMessage(36, s, 0, t, b.poke(s).item(), stat);
b.disposeItem(s);
b.inflictStatMod(s, stat, 1, s, false);
}
}
示例8: uodr
static void uodr(int s, int t, BS &b) {
if (!b.attacking() || b.koed(s)) {
return;
}
int arg = poke(b,s)["ItemArg"].toInt();
int berry = b.poke(s).item();
if (turn(b,t).value("BugBiter").toBool() || tmove(b,t).category == Move::Special) {
b.eatBerry(s, s==t);
if (b.isOut(s)) {
if (b.hasWorkingAbility(s, Ability::Contrary)) {
b.sendBerryMessage(7,s,1,s, berry, arg);
} else {
b.sendBerryMessage(7,s,0,s, berry, arg);
}
b.inflictStatMod(s,arg,1,s,false);
}
}
}