Element* Calculateur::swap() { Element* a = getPile()->pop(); Element* b = getPile()->pop(); this->getPile()->swap(a->getXAsInt(),b->getXAsInt()); delete a; delete b; }
int Player::getAttackRange(bool include_weapon) const{ int original_range = 1; if (hasSkill("zhengfeng") && !weapon && hp > 1) original_range = hp; // @todo_P: new way to remove coupling or just put it into TargetModSkill if (hasFlag("InfinityAttackRange") || getMark("InfinityAttackRange") > 0) original_range = 10000; // Actually infinity int weapon_range = 0; if (include_weapon && weapon != NULL) { const Weapon *card = qobject_cast<const Weapon *>(weapon->getRealCard()); Q_ASSERT(card); weapon_range = card->getRange(); } return qMax(original_range, weapon_range) + (hasSkill("fentian") ? getPile("burn").length() : 0); }
Element* Calculateur::drop() { Element* a = getPile()->pop(); delete a; }