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); } }
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); } }
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); } }