Ejemplo n.º 1
0
void RoomThread::addPlayerSkills(ServerPlayer *player, bool invoke_game_start){
    QVariant void_data;

    foreach(const TriggerSkill *skill, player->getTriggerSkills()){
        addTriggerSkill(skill);

        if(invoke_game_start && skill->getTriggerEvents().contains(GameStart))
            skill->trigger(GameStart, player, void_data);
    }
}
Ejemplo n.º 2
0
void RoomThread::addPlayerSkills(ServerPlayer *player, bool invoke_game_start){
    QVariant void_data;

    QList<const TriggerSkill *> skills = player->getTriggerSkills();
    foreach(const TriggerSkill *skill, skills){
        if(skill->isLordSkill()){
            if(!player->isLord() || room->mode == "06_3v3")
                continue;
        }

        addTriggerSkill(skill);

        if(invoke_game_start && skill->getTriggerEvents().contains(GameStart))
            skill->trigger(GameStart, player, void_data);
    }
}
Ejemplo n.º 3
0
void RoomThread::addPlayerSkills(ServerPlayer *player, bool invoke_game_start){
    const General *general = player->getGeneral();

    Q_ASSERT(general);
    QVariant void_data;

    QList<const TriggerSkill *> skills = general->findChildren<const TriggerSkill *>();
    foreach(const TriggerSkill *skill, skills){
        if(skill->isLordSkill() && !player->isLord())
            continue;

        addTriggerSkill(skill);

        if(invoke_game_start && skill->getTriggerEvents().contains(GameStart))
            skill->trigger(GameStart, player, void_data);
    }
}