feat: modified attack characteristics

This commit is contained in:
Sara 2024-01-16 17:20:26 +01:00
parent c66a8d8705
commit e6055ed4e6

View file

@ -84,8 +84,8 @@ const State* PlayerJabA_Update(Player* self, float deltaTime) {
const static DamageEventData damage = { const static DamageEventData damage = {
.damageAmount = 1, .damageAmount = 1,
.knockdown = 0, .knockdown = 0,
.stun = 0.1f, .stun = 0.15f,
.knockback = 0.05f, .knockback = 0.07f,
}; };
const float ntime = animation_sprite_get_time_normalized(self->currentAnimation); const float ntime = animation_sprite_get_time_normalized(self->currentAnimation);
if(self->animationTriggers == 0 && ntime > 0.33f) { if(self->animationTriggers == 0 && ntime > 0.33f) {
@ -115,10 +115,11 @@ const State* PlayerJabB_Update(Player* self, float deltaTime) {
static const DamageEventData damage = { static const DamageEventData damage = {
.damageAmount = 1, .damageAmount = 1,
.knockdown = 0, .knockdown = 0,
.stun = 0.1f, .stun = 0.15f,
.knockback = 0.05f, .knockback = 0.05f,
}; };
const float ntime = animation_sprite_get_time_normalized(self->currentAnimation); const float ntime = animation_sprite_get_time_normalized(self->currentAnimation);
const size_t frame = sprite_get_tile(self->sprite);
if(self->animationTriggers == 0 && ntime > 0.33f) { if(self->animationTriggers == 0 && ntime > 0.33f) {
PlayerHurtbox(self, damage, MakeVector(0.1f, 0.06f), MakeVector(0.3f, -0.6f)); PlayerHurtbox(self, damage, MakeVector(0.1f, 0.06f), MakeVector(0.3f, -0.6f));
++self->animationTriggers; ++self->animationTriggers;
@ -146,12 +147,10 @@ const State* PlayerKickA_Update(Player* self, float deltaTime) {
.knockback = 0.15f, .knockback = 0.15f,
}; };
const float ntime = animation_sprite_get_time_normalized(self->currentAnimation); const float ntime = animation_sprite_get_time_normalized(self->currentAnimation);
if(ntime > 0.6f && self->animationTriggers == 0) { const size_t frame = sprite_get_tile(self->sprite);
PlayerHurtbox(self, damage, MakeVector(0.1f, 0.06f), MakeVector(0.3f, -0.4f)); if(frame >= 2 && frame <= 3) {
++self->animationTriggers; PlayerHurtbox(self, damage, MakeVector(0.16f, 0.06f), MakeVector(0.33f, -0.4f));
} }
if(ntime > 1.0f && self->attackInput == 1)
return PlayerJabA();
if(!veqf(self->moveInput, ZeroVector) && ntime > 1.05f) if(!veqf(self->moveInput, ZeroVector) && ntime > 1.05f)
return PlayerWalk(); return PlayerWalk();
if(ntime >= 1.f) if(ntime >= 1.f)
@ -192,14 +191,14 @@ const State* PlayerAirHeavy_Update(Player* self, float deltaTime) {
const static DamageEventData damage = { const static DamageEventData damage = {
.damageAmount = 6, .damageAmount = 6,
.knockdown = 1, .knockdown = 1,
.stun = 0.5f, .stun = 0.75f,
.knockback = 0.15f .knockback = 0.15f
}; };
const float ntime = animation_sprite_get_time_normalized(self->currentAnimation); const float ntime = animation_sprite_get_time_normalized(self->currentAnimation);
if(ntime > 0.25f && self->animationTriggers == 0) { size_t frame = sprite_get_tile(self->sprite);
PlayerHurtbox(self, damage, MakeVector(0.1f, 0.06f), MakeVector(0.3f, -0.4f)); if(frame == 1) {
++self->animationTriggers; PlayerHurtbox(self, damage, MakeVector(0.07f, 0.07f), MakeVector(0.3f, -0.38f));
} }
const State* result = PlayerJump_Update(self, deltaTime); const State* result = PlayerJump_Update(self, deltaTime);
return result == PlayerJump() ? PlayerAirHeavy() : result; return (result == PlayerJump()) ? PlayerAirHeavy() : result;
} }