helapordo 1.4.20
Loading...
Searching...
No Matches
specials.h
Go to the documentation of this file.
1// jgabaut @ github.com/jgabaut
2// SPDX-License-Identifier: GPL-3.0-only
3/*
4 Copyright (C) 2022-2026 jgabaut
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, version 3 of the License.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
17*/
18
19#ifndef SPECIALS_H
20#define SPECIALS_H
21//#include "game_utils.h"
22#include "game_core.h"
23#include "game_strings.h"
24#include "game_fight.h"
25#include "game_init.h"
26#include <unistd.h>
27
28#ifdef HELAPORDO_CURSES_BUILD
29#ifdef _WIN32
30#include <ncursesw/panel.h>
31#include <ncursesw/menu.h>
32#else
33#include <panel.h>
34#include <menu.h>
35#endif // _WIN32
36
37void knightSpecial_Slash(WINDOW * w, Fighter * f, Enemy * e, Boss * b, Path * p,
38 int roomIndex, int enemyIndex, int isBoss);
39void knightSpecial_Cover(WINDOW * w, Fighter * f, Enemy * e, Boss * b, Path * p,
40 int roomIndex, int enemyIndex, int isBoss);
41void knightSpecial_Armordrop(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
42 Path * p, int roomIndex, int enemyIndex,
43 int isBoss);
44void knightSpecial_Berserk(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
45 Path * p, int roomIndex, int enemyIndex, int isBoss);
46
47void archerSpecial_Headshot(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
48 Path * p, int roomIndex, int enemyIndex,
49 int isBoss);
50void archerSpecial_Quivercheck(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
51 Path * p, int roomIndex, int enemyIndex,
52 int isBoss);
53void archerSpecial_Poisonshot(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
54 Path * p, int roomIndex, int enemyIndex,
55 int isBoss);
56void archerSpecial_Fireshot(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
57 Path * p, int roomIndex, int enemyIndex,
58 int isBoss);
59
60void mageSpecial_Fatewarp(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
61 Path * p, int roomIndex, int enemyIndex, int isBoss);
62void mageSpecial_Powerup(WINDOW * w, Fighter * f, Enemy * e, Boss * b, Path * p,
63 int roomIndex, int enemyIndex, int isBoss);
64void mageSpecial_Spellstrike(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
65 Path * p, int roomIndex, int enemyIndex,
66 int isBoss);
67void mageSpecial_Flamering(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
68 Path * p, int roomIndex, int enemyIndex, int isBoss);
69
70void assassinSpecial_Grimdagger(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
71 Path * p, int roomIndex, int enemyIndex,
72 int isBoss);
73void assassinSpecial_Leechknife(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
74 Path * p, int roomIndex, int enemyIndex,
75 int isBoss);
76void assassinSpecial_Disguise(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
77 Path * p, int roomIndex, int enemyIndex,
78 int isBoss);
79void assassinSpecial_Venomblade(WINDOW * w, Fighter * f, Enemy * e, Boss * b,
80 Path * p, int roomIndex, int enemyIndex,
81 int isBoss);
82void setSpecials(Fighter * f, Koliseo * kls);
83#else
84#ifndef HELAPORDO_RAYLIB_BUILD
85#error "HELAPORDO_CURSES_BUILD and HELAPORDO_RAYLIB_BUILD are both undefined.\n"
86#else
87void knightSpecial_Slash(Rectangle * win, Fighter * f, Enemy * e, Boss * b, Path * p,
88 int roomIndex, int enemyIndex, int isBoss);
89void knightSpecial_Cover(Rectangle * win, Fighter * f, Enemy * e, Boss * b, Path * p,
90 int roomIndex, int enemyIndex, int isBoss);
91void knightSpecial_Armordrop(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
92 Path * p, int roomIndex, int enemyIndex,
93 int isBoss);
94void knightSpecial_Berserk(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
95 Path * p, int roomIndex, int enemyIndex, int isBoss);
96void archerSpecial_Headshot(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
97 Path * p, int roomIndex, int enemyIndex,
98 int isBoss);
99void archerSpecial_Quivercheck(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
100 Path * p, int roomIndex, int enemyIndex,
101 int isBoss);
102void archerSpecial_Poisonshot(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
103 Path * p, int roomIndex, int enemyIndex,
104 int isBoss);
105void archerSpecial_Fireshot(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
106 Path * p, int roomIndex, int enemyIndex,
107 int isBoss);
108void mageSpecial_Fatewarp(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
109 Path * p, int roomIndex, int enemyIndex, int isBoss);
110void mageSpecial_Powerup(Rectangle * win, Fighter * f, Enemy * e, Boss * b, Path * p,
111 int roomIndex, int enemyIndex, int isBoss);
112void mageSpecial_Spellstrike(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
113 Path * p, int roomIndex, int enemyIndex,
114 int isBoss);
115void mageSpecial_Flamering(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
116 Path * p, int roomIndex, int enemyIndex, int isBoss);
117void assassinSpecial_Grimdagger(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
118 Path * p, int roomIndex, int enemyIndex,
119 int isBoss);
120void assassinSpecial_Leechknife(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
121 Path * p, int roomIndex, int enemyIndex,
122 int isBoss);
123void assassinSpecial_Disguise(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
124 Path * p, int roomIndex, int enemyIndex,
125 int isBoss);
126void assassinSpecial_Venomblade(Rectangle * win, Fighter * f, Enemy * e, Boss * b,
127 Path * p, int roomIndex, int enemyIndex,
128 int isBoss);
129void setSpecials(Fighter * f, Koliseo * kls);
130#endif // HELAPORDO_RAYLIB_BUILD
131#endif // HELAPORDO_CURSES_BUILD
132#endif // SPECIALS_H
Represents the entity initialised from a bossClass.
Definition game_core.h:1204
Represents the entity initialised from a enemyClass.
Definition game_core.h:1163
Represents the entity initialised from a fighterClass.
Definition game_core.h:1093
Holds the state of game progression.
Definition game_core.h:1357