From 15e78094a56675e345f80b548265bf9478958342 Mon Sep 17 00:00:00 2001
From: Anonymus Raccoon
Date: Sun, 3 May 2020 01:41:49 +0200
Subject: [PATCH] Handling the inventory on the fighting screen
---
Makefile | 4 ++--
lib/gamacon | 2 +-
src/player_utilities.c | 11 ++++++++---
src/systems/dialog_methods.c | 8 ++++----
4 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
index 99de421..a6b3c89 100644
--- a/Makefile
+++ b/Makefile
@@ -40,8 +40,8 @@ SRC = src/main.c \
src/enemy_dataloader.c \
src/combat/attacks.c \
src/player_utilities.c \
- src/systems/inventory.c \
- src/systems/game_over.c \
+ src/inventory.c \
+ src/game_over.c \
src/npc/mia.c \
src/npc/fisherman.c \
src/npc/lumberjack.c \
diff --git a/lib/gamacon b/lib/gamacon
index 6d10f5d..800efd3 160000
--- a/lib/gamacon
+++ b/lib/gamacon
@@ -1 +1 @@
-Subproject commit 6d10f5d03d6cdfd4831bb9c5b0e4b5982349071d
+Subproject commit 800efd3c0fb3c8b7f067c5ca0c5f5f743c1e33a1
diff --git a/src/player_utilities.c b/src/player_utilities.c
index 92e3155..1c220dd 100644
--- a/src/player_utilities.c
+++ b/src/player_utilities.c
@@ -6,6 +6,7 @@
*/
#include
+#include
#include "components//health_component.h"
#include "entity.h"
@@ -13,6 +14,8 @@ void set_combat_player(gc_engine *engine, gc_entity *player, gc_entity *cbt)
{
struct health_component *main;
struct health_component *combat;
+ struct player_component *minv;
+ struct player_component *inv;
struct combat_manager *this;
if (!engine || !player || !cbt)
@@ -20,12 +23,14 @@ void set_combat_player(gc_engine *engine, gc_entity *player, gc_entity *cbt)
main = GETCMP(player, health_component);
combat = GETCMP(cbt, health_component);
this = GETSYS(engine, combat_manager);
+ minv = GETCMP(player, player_component);
+ inv = GETCMP(cbt, player_component);
this->last_attack = NULL;
- this->last_damage = 0;
- if (!main || !combat)
+ if (!main || !combat || !inv || !minv)
return;
combat->health_max = main->health_max;
combat->health = main->health;
combat->dead = main->dead;
-
+ for (int i = 0; i < 4; i++)
+ inv->inventory_upgrades[i] = minv->inventory_upgrades[i];
}
\ No newline at end of file
diff --git a/src/systems/dialog_methods.c b/src/systems/dialog_methods.c
index 8650713..8dea9ab 100644
--- a/src/systems/dialog_methods.c
+++ b/src/systems/dialog_methods.c
@@ -105,17 +105,17 @@ void dialog_next(gc_engine *engine)
{
struct dialog_manager *this = GETSYS(engine, dialog_manager);
gc_scene *scene = engine->scene;
- gc_entity *entity = scene->get_entity(scene, 50);
+ gc_entity *ent = scene->get_entity(scene, 50);
gc_entity *holder_name;
- if (!entity || this->dialog_id == -1 && !load_dialog(this, engine, entity))
+ if (!ent || (this->dialog_id == -1 && !load_dialog(this, engine, ent)))
return;
if (this->input_id >= 0)
run_input_func(this, engine);
controllable_set_can_move(scene, false);
holder_name = scene->get_entity(scene, 1336);
- entity = scene->get_entity(scene, 1337);
- if (!entity || !holder_name || (!update_dialog(this, entity, \
+ ent = scene->get_entity(scene, 1337);
+ if (!ent || !holder_name || (!update_dialog(this, ent, \
holder_name, engine) && handle_input(engine, this)))
return;
prefab_destroy(scene, this->dialog_id);