Пример #1
0
void MaoXian::normal()
{
    Role::normal();
    Player* myself=dataInterface->getMyself();

    if(dataInterface->getMyTeam()->getEnergy()>0)
        buttonArea->enable(2);
//欺诈
    QList<Card*>handcards=dataInterface->getHandCards();
    for(int i=0;i<handcards.size()-1;i++)
        for(int j=i+1;j<handcards.size();j++)
            if(handcards[i]->getElement()==handcards[j]->getElement()){
                buttonArea->enable(3);
                break;
            }

//偷天换日 特殊加工
    if(myself->getEnergy()>0){
        if(dataInterface->getOtherTeam()->getGem()>0 && !onceUsed2)
            buttonArea->enable(4);
        if(!onceUsed)
            buttonArea->enable(5);
    }
    unactionalCheck();
}
Пример #2
0
//正常行动
void Role::normal()
{
    gui->reset();

    QList<Card*> handcards=dataInterface->getHandCards();
    Player* myself=dataInterface->getMyself();
    Team* myTeam=dataInterface->getMyTeam();
    int n=handcards.count();

    state=1;
    actionFlag=0;
    playerArea->setQuota(1);
    handArea->setQuota(1);

    handArea->enableAll();
    handArea->disableElement("light");

    if(n+3 <= myself->getHandCardMax() && start==false && myself->getSpecial(1)!=1)
    {
//购买
        buttonArea->enable(0);
        if(myTeam->getEnergy()>=3)
//合成
            buttonArea->enable(1);
    }
//提炼
    if(myself->getEnergy()<myself->getEnergyMax() && myTeam->getEnergy()>0 && start==false && myself->getSpecial(1)!=1)
        buttonArea->enable(2);
    tipArea->setMsg(tr("轮到你了"));
    unactionalCheck();
}
Пример #3
0
void LingFu::normal()
{
    Role::normal();
    //灵符
    if (handArea->checkElement("thunder"))
        buttonArea->enable(3);
    if (handArea->checkElement("wind"))
        buttonArea->enable(4);

    unactionalCheck();
}
Пример #4
0
void XianZhe::normal()
{
    Role::normal();
    Player *myself=dataInterface->getMyself();

    if(myself->getGem()>0 && myself->getHandCardNum()>1)
    {
        buttonArea->enable(3);
        if(myself->getHandCardNum()>2)
            buttonArea->enable(4);
    }
    unactionalCheck();
}
Пример #5
0
void LingHun::normal()
{
    Role::normal();
    Player *myself=dataInterface->getMyself();
    if (handArea->checkType("magic"))
        buttonArea->enable(3);
    if(myself->getToken(0)>=2)
        buttonArea->enable(4);
    if (handArea->checkSpecility(QStringLiteral("灵魂震爆")) && myself->getToken(0)>=3)
        buttonArea->enable(5);
    if (handArea->checkSpecility(QStringLiteral("灵魂赐予")) && myself->getToken(1)>=3)
        buttonArea->enable(6);
    unactionalCheck();
}
Пример #6
0
void ShengNv::normal()
{
    Role::normal();
    Player* myself=dataInterface->getMyself();

    if (handArea->checkSpecility(tr("治疗术")))
        buttonArea->enable(3);
    if (handArea->checkSpecility(tr("治愈之光")))
        buttonArea->enable(4);
    //圣疗
    if (myself->getEnergy()>0 && !onceUsed)
        buttonArea->enable(5);
    unactionalCheck();
}
void MoGong::normal()
{
    Role::normal();
    bool hasThunder=false;
    foreach(Card*ptr,dataInterface->getCoverCards())
        if(ptr->getElement()=="thunder")
        {
            hasThunder=true;
            break;
        }
    if(hasThunder && !ChongNengUsed)
        buttonArea->enable(3);
    unactionalCheck();
}
Пример #8
0
void YongZhe::normal()
{
    Role::normal();
    Player* myself=dataInterface->getMyself();
    //挑衅
    if(myself->getToken(0)>0)
        buttonArea->enable(3);
        foreach(Player* ptr,dataInterface->getPlayerList())
            if(ptr->getSpecial(1)==1){
                buttonArea->disable(3);
                break;
            }
    unactionalCheck();
}
Пример #9
0
void MoDao::normal()
{
    Role::normal();
    Player* myself=dataInterface->getMyself();
//魔弹融合
    if (handArea->checkElement("earth")||handArea->checkElement("fire"))
        buttonArea->enable(3);
//魔爆冲击
    if (handArea->checkType("magic"))
        buttonArea->enable(4);
//毁灭风暴
    if(myself->getGem()>0)
        buttonArea->enable(5);
    unactionalCheck();
}
void XianZhe::normal()
{
    Role::normal();
    Player *myself=dataInterface->getMyself();

    int elements = handArea->getElementCount();
    // 有能量              && 至少有2系牌
    if(myself->getGem()>0 && elements>1)
    {
        buttonArea->enable(3);
        // 至少有3系牌
        if(elements>2)
            buttonArea->enable(4);
    }
    unactionalCheck();
}
Пример #11
0
void QiDao::normal()
{
    Role::normal();
    Player* myself=dataInterface->getMyself();

    if (handArea->checkSpecility(QStringLiteral("威力赐福")))
        buttonArea->enable(3);
    if (handArea->checkSpecility(QStringLiteral("迅捷赐福")))
        buttonArea->enable(4);
    if(myself->getTap()&&myself->getToken(0)>0)
    {
        buttonArea->enable(5);
        buttonArea->enable(6);
    }
    unactionalCheck();
}
Пример #12
0
void TianShi::normal()
{
    Role::normal();
//风之洁净
    if (handArea->checkElement("wind"))
        foreach(Player*ptr,dataInterface->getPlayerList())
            if(ptr->hasStatus()) {
                buttonArea->enable(3);
                break;
            }
//天使祝福
    if (handArea->checkElement("water"))
        buttonArea->enable(4);
//天使之墙
    if (handArea->checkSpecility(QStringLiteral("天使之墙")))
        buttonArea->enable(5);
    unactionalCheck();
}
//用来检测当前可以发动的技能,几乎都是法术技能
void FengYin::normal()
{
    Role::normal();
    Player* myself=dataInterface->getMyself();
//封印法术
    foreach(Card*ptr, dataInterface->getHandCards())
        if (ptr->getType()=="attack"&&ptr->getProperty()==QStringLiteral("幻"))
            buttonArea->enable(3);
//五系束缚
    if(myself->getEnergy()>0)
        buttonArea->enable(4);
//封印破碎
    if(myself->getEnergy()>0)
        foreach(Player*ptr,dataInterface->getPlayerList())
            if(ptr->hasStatus()){
                buttonArea->enable(5);
                break;
            }
    unactionalCheck();
}
void ZhongCai::normal()
{
    Role::normal();
    Player *myself=dataInterface->getMyself();
    //末日审判
    if(myself->getToken(0)>0)
        buttonArea->enable(3);
    //判决天平getElementCount
    if(myself->getEnergy()>0)
        buttonArea->enable(4);
    //强制末日
    if(myself->getToken(0)==4)
    {
        handArea->disableAll();
        buttonArea->disable(0);
        buttonArea->disable(1);
        buttonArea->disable(2);
        buttonArea->disable(4);
    }
    unactionalCheck();
}
void ShengQiang::normal()
{
    Role::normal();
    Player* myself=dataInterface->getMyself();
    if(handArea->checkElement("water"))
        buttonArea->enable(3);
    bool chengjieflag = false;
    SafeList<Player*>players=dataInterface->getPlayerList();
    for(int i=0;i<players.size();i++)
    {
        if(myself->getID()==players[i]->getID())
            continue;
        if(players[i]->getCrossNum()>0)
        {
            chengjieflag = true;
            break;
        }
    }
    if(handArea->checkType("magic")&&chengjieflag)
        buttonArea->enable(4);
    if(myself->getGem()>0)
        buttonArea->enable(5);
    unactionalCheck();
}