annotate libmlk-rpg/rpg/battle.h @ 243:71b3b7036de7

misc: lot of cleanups, - prefix libraries with libmlk, - move assets from source directories closes #2520, - prefix header guards closes #2519
author David Demelier <markand@malikania.fr>
date Sat, 28 Nov 2020 22:37:30 +0100
parents librpg/rpg/battle.h@86b71e1f9dd5
children 3991779aaba9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * battle.h -- battles
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 230
diff changeset
19 #ifndef MOLKO_RPG_BATTLE_H
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 230
diff changeset
20 #define MOLKO_RPG_BATTLE_H
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #include <stdbool.h>
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 #include <core/action.h>
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #include <core/drawable.h>
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 #include <ui/frame.h>
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 #include <ui/gridmenu.h>
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 #include "battle-bar.h"
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
31 #include "battle-entity.h"
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 #include "battle-state.h"
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 #include "selection.h"
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 #include "spell.h"
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 union event;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 struct character;
208
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
39 struct music;
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 struct spell;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 struct theme;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 #define BATTLE_TEAM_MAX (4) /*!< Maximum team members. */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 #define BATTLE_ENEMY_MAX (8) /*!< Maximum enemies. */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 #define BATTLE_ENTITY_MAX \
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 (BATTLE_TEAM_MAX + BATTLE_ENEMY_MAX)
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 #define BATTLE_TEAM_FOREACH(bt, iter) \
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 for (size_t i = 0; i < BATTLE_TEAM_MAX && ((iter) = &(bt)->team[i]); ++i)
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 #define BATTLE_ENEMY_FOREACH(bt, iter) \
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 for (size_t i = 0; i < BATTLE_ENEMY_MAX && ((iter) = &(bt)->enemies[i]); ++i)
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
52
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 #define BATTLE_THEME(bt) ((bt)->theme ? (bt)->theme : theme_default())
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 * \brief Generic battle status.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 enum battle_status {
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 BATTLE_STATUS_NONE, /*!< Battle is not even started. */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 BATTLE_STATUS_RUNNING, /*!< Battle is running. */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 BATTLE_STATUS_WON, /*!< Battle has been won. */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 BATTLE_STATUS_LOST, /*!< Battle has been lost. */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 };
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 * \brief Battle structure.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 struct battle {
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 * (+&?) Battle state.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 struct battle_state *state;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
73
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 * (-) Battle status.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 * This information is provided as final result once the battle has
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 * completed, modifying by the user won't change the battle routines.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 enum battle_status status;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 * (+) Member of team.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 struct battle_entity team[BATTLE_TEAM_MAX];
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 * (+) Ennemies to fight.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 struct battle_entity enemies[BATTLE_ENEMY_MAX];
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 * (+&?) Order of playing.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 struct battle_entity *order[BATTLE_ENTITY_MAX];
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
96
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 * (-&?) Current entity playing.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 struct battle_entity *order_cur;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
101
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 * (-) Current entity playing index.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 size_t order_curindex;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
106
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 * (+&?) An optional background.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 struct texture *background;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
111
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 * (+&?) A music to play.
208
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
114 *
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
115 * Music to play in the battle:
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
116 *
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
117 * - [0]: while the battle is running,
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
118 * - [1]: in case of victory,
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
119 * - [2]: in case of lost.
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 */
208
c0e0d4accae8 rpg: add music support in battle
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
121 struct music *music[3];
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
122
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 * (+&?) Theme to use.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 struct theme *theme;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
127
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 * (+) Stack of animations.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 * The drawing animations are ran in parallel.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 struct drawable_stack effects;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
134
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 * (+) Stack of actions.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 * The array [0] contains actions that must complete to continue the
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 * battle, it can be used to write some messages while blocking the
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 * battle.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 * The array [1] is a set of actions that run in "parallel" and don't
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 * prevent the battle from continuing.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 struct action_stack actions[2];
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
146
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 * (-) Bottom bar.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 struct battle_bar bar;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 };
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
152
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 * Call this function before using the battle but after calling \a battle_init.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 * If the team entities are positioned to 0, 0 they will be placed
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 * automatically.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 battle_start(struct battle *bt);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
164
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 /**
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
166 * Select next member in battle.
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 battle_next(struct battle *bt);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
173
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
174 struct battle_entity *
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
175 battle_find(struct battle *bt, const struct character *ch);
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
176
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 * Change battle state.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 * \pre st != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 * \param st the state (referenced)
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 * \warning This will immediately close the current state and call finish field
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 * function if defined.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 battle_switch(struct battle *bt, struct battle_state *st);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
189
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 * Compute battle ordering.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 battle_order(struct battle *bt);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
198
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 /**
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
200 * All in one function to animate and compute damage.
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
201 *
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
202 * Use this function from the character AI or when a character from the team
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
203 * should attack an enemy.
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
204 *
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
205 * This will do the following in order:
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
206 *
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
207 * 1. Change battle state to "attacking"
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
208 * 2. Change battle entity state to "moving" or "blinking" if source is member of
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
209 * team or enemies respectively.
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
210 * 3. Wait until animations complete.
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
211 * 4. Compute and produce damage.
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
212 * 5. Change battle state to "check"
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 * \pre source != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
216 * \pre target != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 * \param bt the battle object
229
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
218 * \param source the entity attacking
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
219 * \param target the target entity
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
221 void
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
222 battle_attack(struct battle *bt,
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
223 struct character *source,
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
224 struct character *target);
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
225
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
226 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 * Default function to cast a spell.
229
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
228 *
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
229 * Prefer to use this function to cast a spell because it performs some checks
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
230 * and hooks before casting the spell.
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
231 *
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
232 * \pre bt != NULL
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
233 * \pre source != NULL
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
234 * \pre spell != NULL
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
235 * \param bt the current battle
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
236 * \param source the entity casting a spell
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
237 * \param spell the spell used
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
238 * \param selection the selection
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
239 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 battle_cast(struct battle *bt,
229
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
242 struct character *source,
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
243 const struct spell *spell,
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
244 unsigned int selection);
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
245
229
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
246 /**
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
247 * Spawn an indicator drawable to show damage.
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
248 *
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
249 * The drawable will draw the amount near the entity and fade away after
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
250 * several seconds.
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
251 *
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
252 * \pre bt != NULL
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
253 * \pre target != NULL
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
254 * \param bt the battle object
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
255 * \param target the target entity
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
256 * \param amount the amount of damage
e71039d820a7 doc: improve documentation
David Demelier <markand@malikania.fr>
parents: 208
diff changeset
257 */
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
258 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
259 battle_indicator_hp(struct battle *bt, const struct character *target, unsigned int amount);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
260
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
261 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
262 * Handle an event.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
263 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
264 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
265 * \pre ev != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
266 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
267 * \param ev the event
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
268 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
269 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
270 battle_handle(struct battle *bt, const union event *ev);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
271
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
272 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
273 * Update the battle.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
274 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
275 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
276 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
277 * \param ticks the number of milliseconds since last frame
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
278 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
279 bool
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
280 battle_update(struct battle *bt, unsigned int ticks);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
281
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
282 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
283 * Draw the battle.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
284 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
285 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
286 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
287 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
288 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
289 battle_draw(struct battle *bt);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
290
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
291 /**
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
292 * Finish and dispose resources if necessary.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
293 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
294 * \pre bt != NULL
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
295 * \param bt the battle object
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
296 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
297 void
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
298 battle_finish(struct battle *bt);
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
299
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 230
diff changeset
300 #endif /* MOLKO_RPG_BATTLE_H */