Fixing some stuff related to attacks

This commit is contained in:
Vladislav Khorev committed 2026-07-12 16:55:23 +03:00
1 parent 9d03b52c2a
commit 92929118d5
7 files changed
+32 -7

No files matched your search

+4 -3
View File
@@ -330,6 +330,7 @@ void Character::update(int64_t deltaMs, const CharacterResolver& resolver) {
state.currentState != AnimationState::DEATH_IDLE) {
state.currentState = AnimationState::ACTION_TO_DEATH;
state.resetAnim = true;
state.attackTargetIndex = CharacterState::kNoTarget;
}
} else {
if (state.battle_state == 1) {
@@ -433,7 +434,7 @@ void Character::update(int64_t deltaMs, const CharacterResolver& resolver) {
(state.currentState == AnimationState::ACTION_ATTACK ||
state.currentState == AnimationState::ACTION_ATTACK_2)) {
if (attackTarget != nullptr) {
attackTarget->applyDamage(10.f, attackDirectionToTarget());
attackTarget->applyDamage(10.f, attackDirectionToTarget(), index);
if (audioPlayer) {
if (state.isPlayer)
@@ -1214,12 +1215,12 @@ void Character::setupHitSparks(std::shared_ptr<Texture> sparkTexture) {
hitSparkEmitter.markConfigured();
}
void Character::applyDamage(float damageAmount, const Eigen::Vector3f& attackDirection) {
void Character::applyDamage(float damageAmount, const Eigen::Vector3f& attackDirection, int attackerIndex) {
std::cout << "Character::applyDamage" << std::endl;
state.hp -= damageAmount;
if (state.hp < 0) state.hp = 0;
if (state.onHpChanged) state.onHpChanged(state.hp, state.initialHp);
if (state.onHpChanged) state.onHpChanged(state.hp, state.initialHp, attackerIndex);
if (!hitSparkEmitter.isConfigured()) return;