1 /*
2 This file is part of "Avanor, the Land of Mystery" roguelike game
3 Home page: http://www.avanor.com/
4 Copyright (C) 2000-2003 Vadim Gaidukevich
5 
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20 
21 #include "skills.h"
22 
GetLevel(SKILL_TYPE skt)23 int XSkills::GetLevel(SKILL_TYPE skt)
24 {
25 	XSkill * xsk;
26 	if (xsk = GetSkill(skt))
27 		return xsk->GetLevel();
28 	else
29 		return 0;
30 }
31 
UseSkill(SKILL_TYPE skt,int n)32 void XSkills::UseSkill(SKILL_TYPE skt, int n)
33 {
34 	XSkill * skill = GetSkill(skt);
35 	if (skill)
36 		skill->UseSkill(n);
37 }
38 
GetSkill(SKILL_TYPE skt)39 XSkill * XSkills::GetSkill(SKILL_TYPE skt)
40 {
41 	XList<XSkill *>::iterator xsk = skills.begin();
42 	while (xsk != skills.end())
43 	{
44 		if (xsk->skt == skt) return xsk;
45 		xsk++;
46 	}
47 	return NULL;
48 }
49 
Learn(SKILL_TYPE skt,int level)50 void XSkills::Learn(SKILL_TYPE skt, int level)
51 {
52 	skills.Add(new XSkill(skt, level));
53 }
54 
RunLevels()55 void XSkills::RunLevels()
56 {
57 /*	skills->Reset();
58 	for (unsigned int i = 0; i < skills->len; i++)
59 	{
60 		XSkill * skill = (XSkill *)skills->Get();
61 		skill->DecFreq();
62 		skills->Next();
63 	}
64 */
65 }
66 
GrowLevels()67 void XSkills::GrowLevels()
68 {
69 /*	skills->Reset();
70 	for (unsigned int i = 0; i < skills->len; i++)
71 	{
72 		XSkill * skill = (XSkill *)skills->Get();
73 		skill->GrowSkill();
74 		skills->Next();
75 	}
76 */
77 }
78 
79 
Store(XFile * f)80 void XSkills::Store(XFile * f)
81 {
82 	skills.StoreList(f);
83 }
84 
Restore(XFile * f)85 void XSkills::Restore(XFile * f)
86 {
87 	skills.RestoreList(f);
88 }
89