Mercurial > molko
annotate libmlk-rpg/mlk/rpg/equipment.h @ 462:5729efd23286
core: core -> mlk_core
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 27 Feb 2023 09:52:55 +0100 |
parents | 773a082f0b91 |
children | bc5483849614 |
rev | line source |
---|---|
235 | 1 /* |
2 * equipment.h -- character equipment | |
3 * | |
445
773a082f0b91
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
434
diff
changeset
|
4 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr> |
235 | 5 * |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
366
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
320
diff
changeset
|
19 #ifndef MLK_RPG_EQUIPMENT_H |
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
320
diff
changeset
|
20 #define MLK_RPG_EQUIPMENT_H |
235 | 21 |
431
8f59201dc76b
core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
22 #include <mlk/core/core.h> |
292
08ab73b32832
misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents:
243
diff
changeset
|
23 |
235 | 24 struct character; |
25 struct texture; | |
26 | |
27 enum equipment_type { | |
28 /* Attack weapons. */ | |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
29 EQUIPMENT_TYPE_AXE, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
30 EQUIPMENT_TYPE_BOW, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
31 EQUIPMENT_TYPE_CROSSBOW, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
32 EQUIPMENT_TYPE_DAGGER, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
33 EQUIPMENT_TYPE_HAMMER, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
34 EQUIPMENT_TYPE_SPIKE, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
35 EQUIPMENT_TYPE_SWORD, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
36 EQUIPMENT_TYPE_WAND, |
235 | 37 |
38 /* Defense equipment. */ | |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
39 EQUIPMENT_TYPE_GLOVES, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
40 EQUIPMENT_TYPE_HELMET, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
41 EQUIPMENT_TYPE_SHIELD, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
42 EQUIPMENT_TYPE_TOP, |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
43 EQUIPMENT_TYPE_TROUSERS, |
235 | 44 }; |
45 | |
46 struct equipment { | |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
47 const char *name; |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
48 const char *description; |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
49 unsigned int price; |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
50 enum equipment_type type; |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
51 struct texture *icon; |
235 | 52 |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
53 void (*equip)(const struct equipment *, struct character *); |
235 | 54 }; |
55 | |
462
5729efd23286
core: core -> mlk_core
David Demelier <markand@malikania.fr>
parents:
445
diff
changeset
|
56 MLK_CORE_BEGIN_DECLS |
292
08ab73b32832
misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents:
243
diff
changeset
|
57 |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
58 int |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
59 equipment_ok(const struct equipment *); |
235 | 60 |
61 void | |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
292
diff
changeset
|
62 equipment_equip(const struct equipment *, struct character *); |
235 | 63 |
462
5729efd23286
core: core -> mlk_core
David Demelier <markand@malikania.fr>
parents:
445
diff
changeset
|
64 MLK_CORE_END_DECLS |
292
08ab73b32832
misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents:
243
diff
changeset
|
65 |
366
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
320
diff
changeset
|
66 #endif /* !MLK_RPG_EQUIPMENT_H */ |