Working on the player respawn correctly

This commit is contained in:
Vladislav Khorev committed 2026-05-18 21:10:55 +03:00
1 parent 27b4b19df4
commit 2659951d8e
20 files changed
+6972 -86

No files matched your search

+3 -4
View File
@@ -7,7 +7,6 @@
#include "GameConstants.h"
#include "Environment.h"
namespace ZL {
const float ATTACK_COOLDOWN_TIME = 1.6f;
@@ -431,9 +430,9 @@ void Character::update(int64_t deltaMs) {
{
currentState = AnimationState::DEATH_IDLE;
if (onDeathAnimComplete) {
auto cb = std::move(onDeathAnimComplete);
onDeathAnimComplete = nullptr;
cb();
//auto cb = std::move(onDeathAnimComplete);
//onDeathAnimComplete = nullptr;
onDeathAnimComplete();
//TODO: need to add some delay here
currentState = AnimationState::STAND;
resetAnim = true;
+33 -14
View File
@@ -16,6 +16,7 @@
#ifdef EMSCRIPTEN
#include <emscripten.h>
#endif
@@ -194,28 +195,46 @@ namespace ZL
uniInteriorParams.gameObjectsJsonPath = "resources/config2/gameobjects_uni_interior.json";
uniInteriorParams.npcsJsonPath = "resources/config2/npcs_uni_interior.json";
uniInteriorParams.dialoguesJsonPath = "resources/dialogue/uni_interior_dialogues.json";
/*uniInteriorParams.navigationJsonPaths = {
"resources/config2/navigation_interior.json",
"resources/config2/navigation_interior.json",
"resources/config2/navigation_interior.json",
"resources/config2/navigation_interior.json",
"resources/config2/navigation_interior.json",
"resources/config2/navigation_interior.json",
"resources/config2/navigation_interior.json"
};*/
//uniInteriorParams.navigationJsonPaths = {"resources/navigation/uni_interior_basic0_objects_opendoors.json"};
//uniInteriorParams.navigationJsonPaths = { "resources/w/nav_uni_interior.txt" };
/*
uniInteriorParams.navigationJsonPaths = {
"resources/navigation/uni_interior0_all_locked.txt",
"resources/navigation/uni_interior0_hall.txt",
"resources/navigation/uni_interior0_lr_hall.txt",
"resources/navigation/uni_interior_basic0_objects_opendoors.txt",
"resources/navigation/uni_interior0_aiperi_lr_tr_hall.json",
"resources/navigation/uni_interior0_aiperi_lr_tr_hall.txt",
"resources/navigation/uni_interior1_night.txt",
"resources/navigation/uni_interior1_darklands_open.txt"
"resources/navigation/uni_interior1_darklands_open.txt", //6
"resources/navigation/uni_interior2_locked.txt",
"resources/navigation/uni_interior2_unlocked_s1.txt",
"resources/navigation/uni_interior2_unlocked_s2.txt",
"resources/navigation/uni_interior2_unlocked_s3.txt",
"resources/navigation/uni_interior2_unlocked_n2.txt",
"resources/navigation/uni_interior2_unlocked_n3.txt",
"resources/navigation/uni_interior2_unlocked_hall.txt"
};*/
uniInteriorParams.navigationJsonPaths = {
"resources/navigation/uni_interior0_all_locked.json",
"resources/navigation/uni_interior0_hall.json",
"resources/navigation/uni_interior0_lr_hall.json",
"resources/navigation/uni_interior_basic0_objects_opendoors.json",
"resources/navigation/uni_interior0_aiperi_lr_tr_hall.json",
"resources/navigation/uni_interior1_night.json",
"resources/navigation/uni_interior1_darklands_open.json", //6
"resources/navigation/uni_interior2_locked.json",
"resources/navigation/uni_interior2_unlocked_s1.json",
"resources/navigation/uni_interior2_unlocked_s2.json",
"resources/navigation/uni_interior2_unlocked_s3.json",
"resources/navigation/uni_interior2_unlocked_n2.json",
"resources/navigation/uni_interior2_unlocked_n3.json",
"resources/navigation/uni_interior2_unlocked_hall.json"
};
uniInteriorParams.teleportsJsonPath = "resources/config2/teleports.json";
uniInteriorParams.triggerZonesJsonPath = "resources/config2/trigger_zones_uni_interior.json";
uniInteriorParams.scriptPath = "resources/start_uni_interior.lua";
+9
View File
@@ -227,6 +227,15 @@ namespace ZL {
return it != this_impl->globalFloats->end() ? it->second : 0.0f;
});
api.set_function("get_player_x",
[game]() -> float {
return game->player ? game->player->position.x() : 0.0f;
});
api.set_function("get_player_z",
[game]() -> float {
return game->player ? game->player->position.z() : 0.0f;
});
// set_player_hp(value) — sets the player's current HP directly.
api.set_function("set_player_hp",
[game](float value) {