Esempio n. 1
0
QString General::getCompanions() const{
    if (isLord())
        return tr("%1 Generals").arg(Sanguosha->translate(getKingdom()));
    QStringList name;
    foreach (const QString &general, companions)
        name << QString("%1").arg(Sanguosha->translate(general));
    GeneralList generals(Sanguosha->getGeneralList());
    foreach (const General *gnr, generals) {
        if (!gnr)
            continue;
        if (gnr->companions.contains(objectName()))
            name << QString("%1").arg(Sanguosha->translate(gnr->objectName()));
    }
    return name.join(" ");
}
Esempio n. 2
0
bool Player::hasLordSkill(const QString &skill_name) const {
    if(acquired_skills.contains(skill_name))
        return true;

    QString mode = getGameMode();
    if(mode == "06_3v3" || mode == "02_1v1")
        return false;

    if(isLord() || ServerInfo.EnableHegemony)
        return hasInnateSkill(skill_name);

    if(hasSkill("weidi")) {
        foreach(const Player *player, getSiblings()) {
            if(player->isLord())
                return player->hasLordSkill(skill_name);
        }
    }
Esempio n. 3
0
bool Player::hasLordSkill(const QString &skill_name) const{
    if(acquired_skills.contains(skill_name))
        return true;

    QString mode = getGameMode();
    if(mode == "06_3v3" || mode == "02_1v1" || mode == "02p")
        return false;

    if(isLord())
        return hasInnateSkill(skill_name);

    if(hasSkill("weidi")){
        foreach(const Player *player, parent()->findChildren<const Player *>()){
            if(player->isLord())
                return player->hasLordSkill(skill_name);
        }
    }