Add infos into target window
[ryzomcore.git] / ryzom / server / src / sabrina / available_phrases.h
blobf95b4c830fa197e4f32eaf237566998982034c4c
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef AVAILABLE_PHRASES_H
20 #define AVAILABLE_PHRASES_H
22 #include <nel/misc/types_nl.h>
23 #include "game_share/egs_sheets/egs_static_brick.h"
24 #include <set>
25 #include <vector>
28 /**
29 * Get the sabrina phrases to make available for a player (who wants to buy phrases from his Rolemaster).
30 * \param brickFilter A part of a brick code indicating a skill tree branch. Only option bricks matching
31 * this filter will be returned.
32 * \param bricksAlreadyKnown The bricks known by the player. Phrases containing a brick that requires
33 * a brick that the player doesn't have will be discarded (see CStaticBrick::BrickRequiresBricks).
34 * \param phrasesAlreadyKnown The rolemaster phrases that were sold to the player before. These phrases
35 * won't be returned again.
36 * \param playerSkills The current skills/levels of the player. Phrases containing a brick with too high
37 * required skill for the player will be discarded (see CStaticBrick::BrickRequiresOneOfSkill).
38 * \param result The vector where the phrases will be inserted (must be empty before the call).
40 void buildAvailablePhrasesList( const std::string& brickFilter,
41 const std::set<NLMISC::CSheetId>& bricksAlreadyKnown,
42 const std::set<NLMISC::CSheetId>& phrasesAlreadyKnown,
43 const std::vector<CPlayerSkill>& playerSkills,
44 std::vector<NLMISC::CSheetId>& result );
47 #endif