aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorquou <quou@disroot.org>2024-10-01 20:40:11 +1000
committerquou <quou@disroot.org>2024-10-01 20:40:11 +1000
commit5ae0a01f81f98b6bed04ec6e3c6a687317489d91 (patch)
treee024ca4b6fcd63d946a1a73c76f077c326b95bfc
parentf06c36339c3c4d1c3287f710c6963c643bc5219d (diff)
special charge
-rw-r--r--config.h1
-rw-r--r--enemy.c3
-rw-r--r--obj.h2
-rw-r--r--player.c1
4 files changed, 5 insertions, 2 deletions
diff --git a/config.h b/config.h
index 33364a5..b45b64f 100644
--- a/config.h
+++ b/config.h
@@ -40,6 +40,7 @@
#define player_lunge_force (f1)
#define player_slash_damage 1
#define player_health 8
+#define player_special_hits 4
#define enemy_inv_frames 8
#define enemy_demon_move_force 32
diff --git a/enemy.c b/enemy.c
index 66e0e73..1e46cb1 100644
--- a/enemy.c
+++ b/enemy.c
@@ -80,7 +80,7 @@ void update_enemy_phys(Enemy* e, const Map* map) {
);
}
-void update_enemy_hurt(Enemy* e, const World* w) {
+void update_enemy_hurt(Enemy* e, World* w) {
Rect a;
int i;
if (e->inv) {
@@ -97,6 +97,7 @@ void update_enemy_hurt(Enemy* e, const World* w) {
e->vx -= dz->vx;
e->vy -= dz->vy;
e->inv = enemy_inv_frames;
+ w->player.charge++;
}
}
}
diff --git a/obj.h b/obj.h
index 2b151b7..a74b015 100644
--- a/obj.h
+++ b/obj.h
@@ -19,7 +19,7 @@ typedef struct {
int anim;
int grounded, headbutted, on_ramp, jumping;
int cooldown, slashing;
- int inv, hp;
+ int inv, hp, charge;
Face face;
Rect rect;
} Player;
diff --git a/player.c b/player.c
index 7326fca..e94f18c 100644
--- a/player.c
+++ b/player.c
@@ -26,6 +26,7 @@ void init_player(Player* p) {
p->face = face_right;
p->inv = 0;
p->hp = player_health;
+ p->charge = 0;
}
void update_player_anim(Player* p) {