コード例 #1
0
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());
    }
}