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