summaryrefslogtreecommitdiff
path: root/src/player_type.cc
blob: 0cc66de742ae108d1a74f86355090012389a62a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "player_type.hpp"

#include <algorithm>

bool player_type::has_ability(u16b ability_idx) const
{
	return std::find(
	        abilities.begin(),
	        abilities.end(),
	        ability_idx) != abilities.end();
}

void player_type::gain_ability(u16b ability_idx)
{
	// Duplicates don't really matter, so let's just
	// accept whatever value we get without checking
	// anything.
	abilities.push_back(ability_idx);
}

void player_type::lose_ability(u16b ability_idx)
{
	abilities.erase(
	        std::remove(
	                abilities.begin(),
	                abilities.end(),
	                ability_idx));
}