void LijianCard::use(Room *room, ServerPlayer *, QList<ServerPlayer *> &targets) const{ ServerPlayer *to = targets.at(0); ServerPlayer *from = targets.at(1); Duel *duel = new Duel(Card::NoSuit, 0); duel->setCancelable(duel_cancelable); duel->setSkillName(QString("_%1").arg(getSkillName())); if (!from->isCardLimited(duel, Card::MethodUse) && !from->isProhibited(to, duel)) room->useCard(CardUseStruct(duel, from, to)); else delete duel; }
void TaichenFightCard::use(Room *room, ServerPlayer *source, QList<ServerPlayer *> &) const{ room->loseHp(source); if (source->isAlive()) { Duel *duel = new Duel(Card::NoSuit, 0); duel->setSkillName("_taichenfight"); duel->setCancelable(false); room->addPlayerMark(source, "WushuangTarget"); room->useCard(CardUseStruct(duel, source, room->getLord())); room->removePlayerMark(source, "WushuangTarget"); } }
void LijianCard::use(Room *room, ServerPlayer *source, const QList<ServerPlayer *> &targets) const{ room->throwCard(this); ServerPlayer *to = targets.at(0); ServerPlayer *from = targets.at(1); Duel *duel = new Duel(Card::NoSuit, 0); duel->setCancelable(false); CardEffectStruct effect; effect.card = duel; effect.from = from; effect.to = to; room->cardEffect(effect); }
void TaichenFightCard::use(Room *room, ServerPlayer *source, const QList<ServerPlayer *> &targets) const{ room->loseHp(source); if(source->isAlive()){ Duel *duel = new Duel(Card::NoSuit, 0); duel->setCancelable(false); CardEffectStruct effect; effect.card = duel; effect.from = source; effect.to = room->getLord(); room->acquireSkill(source, "wushuang", false); room->cardEffect(effect); source->loseSkill("wushuang"); } }
void TaichenFightCard::use(Room *room, ServerPlayer *source, QList<ServerPlayer *> &) const { room->loseHp(source); if (source->isAlive()) { Duel *duel = new Duel(Card::NoSuit, 0); duel->setSkillName("_taichenfight"); duel->setCancelable(false); QStringList wushuang_tag; wushuang_tag << room->getLord()->objectName(); source->tag["Wushuang_" + duel->toString()] = wushuang_tag; try { room->useCard(CardUseStruct(duel, source, room->getLord())); } catch (TriggerEvent triggerEvent) { if (triggerEvent == StageChange || triggerEvent == TurnBroken) source->tag.remove("Wushuang_" + duel->toString()); throw triggerEvent; } source->tag.remove("Wushuang_" + duel->toString()); } }