void EnemyKingPumpkin::DamageAction(HitData hitData){ double angleRad = (GMath::CalcAngleRad(hitData.fromPosition, position)); Vec2 knockBackVec; knockBackVec.SetupSelf((float)(cos(angleRad)), (float)(sin(angleRad))); knockBackVec *= 15; moveVelocity += knockBackVec; double maxSpeed = 10; if (moveVelocity.Length() > maxSpeed){ moveVelocity = Vec2::Normalize(moveVelocity) * maxSpeed; } }